Tkinter Entrys get-Funktion: Verwendung und Timing verstehen
In Tkinter ermöglicht das Eintrags-Widget Benutzern die Bereitstellung von Texteingaben. Um diese Eingabe abzurufen, verwendet man üblicherweise die Funktion get(). Es kann jedoch zu unerwartetem Verhalten kommen, wenn die Funktion get() vorzeitig aufgerufen wird.
Eingabe abrufen: Timing ist wichtig
Das Problem mit dem bereitgestellten Beispielcode besteht darin, dass die get ()-Funktion wird aufgerufen, bevor die GUI-Elemente auf dem Bildschirm angezeigt werden. Dies geschieht nach dem Aufruf von mainloop().
Lösung: Verwendung einer Schaltfläche
Um auf Benutzereingaben zuzugreifen, nachdem diese eingegeben wurden, wird empfohlen, eine Schaltfläche hinzuzufügen das löst beim Klicken die Funktion get() aus. Die Implementierung in einer klassenbasierten Anwendung vereinfacht den Prozess, wie unten gezeigt:
import tkinter as tk
class SampleApp(tk.Tk):
def __init__(self):
tk.Tk.__init__(self)
self.entry = tk.Entry(self)
self.button = tk.Button(self, text="Get", command=self.on_button)
self.button.pack()
self.entry.pack()
def on_button(self):
print(self.entry.get())
app = SampleApp()
app.mainloop()
Nutzung und erwartetes Verhalten
Führen Sie das Programm aus, geben Sie etwas in das Eingabefeld ein und klicken Sie dann auf die Schaltfläche „Get“. Der eingegebene Text wird in der Konsole gedruckt. Dies zeigt den richtigen Zeitpunkt für die Verwendung der Funktion get() und stellt sicher, dass die Eingabe bei Bedarf verfügbar ist.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3