Ok, Dank @BryanOakley ‚s Kommentar. Die richtige Antwort wäre:
1 -> Auf der einen Seite können Sie alle Ereignisse setzen könnten (wie button
als window
Objekt) mit bind
Methode, wäre es:
window.bind('<Return>', addClick)
window.bind('<BackSpace>', addClick)
btn.bind('<Button-1>', addClick)
Und addClick
Methode wäre, :
def addClick(event):
global presses
presses += 1
lbl.configure(text=presses)
Code of erste Option:
import Tkinter
window=Tkinter.Tk()
window.title("Clicks Counter")
presses=0
def addClick(event): # Change this line!
global presses
presses += 1
lbl.configure(text=presses)
window.bind('<Return>', addClick) # Change this line!
window.bind('<BackSpace>', addClick) # Change this line!
lbl=Tkinter.Label(window, text=presses)
lbl.pack()
btn=Tkinter.Button(window, text="Click Me")
btn.config(font=('helvetic',40))
btn.pack(expand=True, fill='both')
btn.bind('<Button-1>', addClick) # Change this line!
window.mainloop()
2 -> Andererseits könnten Sie die Methode addClick
ändern, indem Sie ein optionales Argument wie @BryanOakley hinzufügen. Dann würden Sie den dritten Parameter (command
) von Tkinter.Button()
nicht ändern. Es wäre:
def addClick(event=None):
global presses
presses += 1
lbl.configure(text=presses)
window.bind('<Return>', addClick)
window.bind('<BackSpace>', addClick)
Code of zweite Option:
import Tkinter
window=Tkinter.Tk()
window.title("Clicks Counter")
presses=0
def addClick(event=None): # Change this line!
global presses
presses += 1
lbl.configure(text=presses)
window.bind('<Return>', addClick) # Change this line!
window.bind('<BackSpace>', addClick) # Change this line!
lbl=Tkinter.Label(window, text=presses)
lbl.pack()
btn=Tkinter.Button(window, text="Click Me", command=addClick)
btn.config(font=('helvetic',40))
btn.pack(expand=True, fill='both')
window.mainloop()
Ich hoffe, dass es ist, dass Sie wollten, und dank @BryanOakley wieder: D
Da Bindungen ein 'event' Argument übergeben Für den Rückruf muss 'addClick' modifiziert werden, um diesen Parameter zu akzeptieren. Da die Funktion auch für einen Tastenrückruf verwendet wird, muss der Ereignisparameter optional sein. –
Danke @BryanOakley von dieser Information, es war hilfreich :-) –
eine bessere Vorgabe wäre 'event = None'. –