Entry, Eingaben überprüfen

Fragen zu Tkinter.
Antworten
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Hi

Ich hab 2 Fragen zum Entrywidget.

1. Es sollen nur Zahlen eingegeben werden können.
2. Nach 3 Zahlen soll Schluss sein also max 999

Ich habs schon mit dem Event <Key> probiert, da kann ich mit event.char die Taste zwar auslesen, jedoch weiss ich nicht wie ich unterbinde dass dieser Char in das EntryWidget geschrieben wird.

Mit validate='key', validatecommand=self.check gehts mir genau gleich wie beim Key-Event


Wie kann ich die 2 Sachen bewerkstelligen?

Vielen Dank und Gruss Rayo


ps: suuuper hab beides als Bastellösung geschafft, kenn einer noch eine saubere Lösung?
irgendwie nervt dass, da probiert man ne Weile, sucht im Internet und dann wendet man sich mal ans Forum und schon findet man die Lösung *grml*

Code: Alles auswählen

self.red = Entry(f,width=3,validate="key", validatecommand=self.validate)
self.red.pack(side=LEFT,padx=5,pady=5)
self.red.bind('<Key>',self.keypress)

def keypress(self, event):
    self.lastKey = event.char
def validate(self, *args):
    if self.lastKey in ['1','2','3','4','5','6','7','8','9','0'] and self.count < 3:
        self.count += 1
        return True
    return False
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Hi!

Ist zwar schon ein wenig her, aber ich hab gerade ein validating entry widget gefunden.

Gruß, mawe
Benutzeravatar
Mr_Snede
User
Beiträge: 387
Registriert: Sonntag 8. Februar 2004, 16:02
Wohnort: D-Dorf, Bo

Hi rayo,
hast du schon mal das EntryField der PMW angeschaut?

cu Sebastian
Antworten