In dem Programm, das ich gemacht habe, drückt der Benutzer Enter und der eingegebene Text wird dann als eine Bezeichnung im Programm angezeigt. So wird das Etikett immer aktualisiert und dann in die nächste Zeile geschrieben. Das Problem ist, dass in der Textbox die vorherige Zeile, die der Benutzer eingegeben hat, dort bleibt, was bedeutet, dass Sie die Zeichenfolge in der Textbox manuell löschen müssen, um eine neue Zeile zu schreiben. Wie kann ich es so machen, dass Sie mit einer gelöschten Textbox beginnen? die Enter-Taste funktioniert auch, aber es scheint, dass, wenn ich auf die Schaltfläche „Zurück“ klicken, um es gibt mir eine Fehlermeldung:Update-Label behält vorherigen Text
Typeerror: evaluate() 1 erforderlich Positions Argument fehlt: ‚Ereignis‘
Hier ist der Code :
from tkinter import *
window = Tk()
window.geometry("200x300")
def evaluate(event):
thetext = StringVar()
labeloutput = Label(app, textvariable = thetext)
n = e.get()
thetext.set(n)
labeloutput.grid()
app = Frame(window)
app.pack()
e = Entry(window)
e.pack()
b= Button(window, text="Return", command=evaluate)
b.pack()
window.bind("<Return>", evaluate)
mainloop()
@ AndrewL.Bei wenn ich die Eingabetaste ohne das Ereignis in der Funktion drücke, gibt es mir diesen Fehler: "return self.func (* args) TypeError: evaluate() nimmt 0 Positionsargumente aber 1 wurde gegeben" – Vitalynx