Frage

Gibt es einen On-Wert-Änderung Ereignistyp für die Dateneingabe Widgets wie Eintrag, Text, Spinner, Checkbutton, Radiobutton? Durch die On-Wert-Änderung, ich meine die Fähigkeit zu erkennen, wenn der Wert eines Widgets aufgrund Tastatureingabe oder Schnitt geändert hat / löschen / einfügen (und Text edit_undo / edit_redo) Aktivität? Ich sehe kein solches Ereignis in der Tkinter Ereignisdokumentation beschrieben [1].

Ist die richtige Technik zu Link Tkinter Variablen Werte Widget I überwachen möchten und verwenden diese Variablen .trace_variable ( ‚w‘, ...) Methoden zu binden Wertänderungen? Dies scheint der richtige Ansatz, aber ich habe nicht viel trace_variable () Einsatz in der Tkinter Anwendungsquellcode, dass ich studiert habe ... was mich vorsichtig zu sein mit diesem Ansatz.

gesehen

[1] http://infohost.nmt.edu/tcc /help/pubs/tkinter/events.html

War es hilfreich?

Lösung

Verschiedene Widgets erfordern unterschiedliche Lösungen. Zum Beispiel Kontrolltasten und Radio-Buttons haben eine Befehlsoption, und mit einem Eintrag Widget können Sie die integrierten Validierungsfunktionen verwenden.

Für alle Widgets, die auf eine Variable gebunden werden kann, eine variable Spur tun, ist eine gemeinsame Lösung. Der Text-Widget ist eine Ausnahme, da man es nicht mit einer Variablen, ohne viel Aufwand zuordnen können.

In der Tcl / Tk Welt verbinde ich alle meine Widgets zu einem einzigen Array (tcl Name für einen Hash-Karte / Wörterbuch) und dann auf dem Array eine einzelne Spur setzen. Leider ist tkinter nicht direkt Tcl-Arrays unterstützen. Allerdings ist die Unterstützung etwas einfach in hacken Weitere Informationen finden Sie meine Antwort auf diese Frage. Wie ein Code auszuführen, wenn ein Tkinter Wertänderung Widget?

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top