Python: Tkinter Entry

Willemers Informatik-Ecke


Bestellen bei Amazon
2015-07-31

Diese Seiten sind Grundlage meines Python-Buchs aus den ersten Recherchen.

Grundfunktionen

Das Entry erlaubt dem Benutzer die Eingabe einer Zeichenkette.
import tkinter
fenster = tkinter.Tk()
nameEntry = tkinter.Entry(fenster)
nameEntry.pack()
fenster.mainloop()
Der eingegebene Inhalt des Entrys wird über die Methode get() ausgelesen. Mit der Methode insert() kann ein Text in das Entry eingefügt werden. Der Parameter bestimmt die Position. Die Methode delete() löscht das Zeichen, dessen Index es als Parameter erhält. Werden zwei Parameter übergeben, wird der Bereich gelöscht. Als Positionsparameter kann auch END übergeben werden, um die Position hinter dem letzten Zeichen zu bezeichnen.

Validierung von Entry-Inhalten

Der Anwender ist manchmal nicht gewillt, genau das einzutippen, was sich der Software-Entwickler gedacht hat. Zum Glück sitzt der Programmierer am längeren Hebel. Über Validierungsfunktionen können Sie prüfen, ob die Eingabe Ihren Vorstellungen entspricht. Und sollte der Benutzer sich nicht bequemen, endlich das einzutippen, was Sie erwarten, dann sitzt der auch noch morgen vor Ihrem Programm - außer er schaltet den Computer aus.

def isOkay(why, where, what):
    return True

okayCommand = fenster.register(isOkay)

entry = Entry(self, validate='all',
         validatecommand=(okayCommand, '%d', '%i', '%S'))
Mit 'key' wird jeder Tastendruck geprüft und nur erlaubte durchgelassen. Mit 'focusout' erfolgt die Prüfung erst nach dem Verlassen. Die Funktion, die über invalidcommand angemeldet ist, wird aufgerufen, wenn validatecommand False zurücklieferte. Dann kann entweder der Wert zurückgesetzt werden oder vielleicht auch der Fokus zurück ins Feld. Die Werte, die an die Validierungsfunktion übergeben werden, werden durch die Prozentkürzel bestimmt. Dabei bedeuten diese:

Weiterführende Ausführungen


Homepage (C) Copyright 2015 Arnold Willemer