Python GUI Programmierung | Entry() Funktion als Integer?

Fragen zu Tkinter.
Antworten
YourMTTV
User
Beiträge: 7
Registriert: Donnerstag 10. September 2015, 19:30

Hallo, wie kann man bei der GUI Programmierung von Python bei einem Entry() einstellen, dass man einen Integer eingeben soll. Wenn ich am Ende int(variable) eingebe kommt eine Error Meldung. Danke für jegliche Hilfe MFG Tom
BlackJack

@YourMTTV: So einfach einstellen kann man das gar nicht. Man kann halt am Ende prüfen ob eine Zahl eingegeben wurde in dem man einfach versucht die Eingabe in eine Zahl zu wandeln und entsprechend auf die Ausnahme reagieren.

Oder man registriert eine Funktion die die Eingabe überprüft und damit verhindert das etwas anderes als eine Zahl eingegeben werden kann:

Code: Alles auswählen

from __future__ import absolute_import, division, print_function
import Tkinter as tk

def is_int_representation(string):
    try:
        int(string)
    except ValueError:
        return False
    else:
        return True


def main():
    root = tk.Tk()
    entry = tk.Entry(
        root, validate='all', validatecommand=(root.register(is_int_representation), '%P')
    )
    entry.insert(0, '42')
    entry.pack()
    root.mainloop()


if __name__ == '__main__':
    main()
Antworten