Entry alle x Sekunden auslesen

Fragen zu Tkinter.
Antworten
Benutzeravatar
mq
User
Beiträge: 124
Registriert: Samstag 1. Januar 2005, 19:14

Mittwoch 9. März 2005, 15:39

Moin,

ich habe mir eine kleine Musiksuchfunktion gebastelt. Der Suchstring wird logischerweise über ein Entry eingegeben. Bisher starte ich die Suche über Tastendruck auf Return. Ich möchte aber lieber, dass eine neue Suche gestartet wird, sobald ein Buchstabe eingegeben bzw. gelöscht wird (wer die Suchfunktion von Winamp kennt, weiß, was ich meine).
Mein Ansatz ist, eine Funktion zu schreiben, die das Entry-Feld jede Sekunde überprüft und ggf. die Suche startet.

Fragen:
1. Ist das möglich? Wenn ja, wie?
2. Gibt es vielleicht sogar eine Funktion, die sich für die Lösung des Problems noch besser eignet?
Redprince
User
Beiträge: 128
Registriert: Freitag 22. Oktober 2004, 09:22
Wohnort: Salzgitter
Kontaktdaten:

Mittwoch 9. März 2005, 15:57

Moinsen...
Du könntest mit Events arbeiten:

Code: Alles auswählen

def cb(event):
    if(event.char == ""):
        suchstring = suchstring[:-1]
    else:
        suchstring = suchstring + event.char
suchEntry.bind("<Key>", cb)
suchEntry.pack()
Wenn ich in cb() ein suchEntry.get() ausgeführt habe, fehlte mir das letzte Zeichen, deshalb das Zusammensetzen des Strings, in event.char ist das letzte getippte Zeichen enthalten.
Siehe hier.
Benutzeravatar
mq
User
Beiträge: 124
Registriert: Samstag 1. Januar 2005, 19:14

Mittwoch 9. März 2005, 17:31

funzt. thx.
Antworten