Ich arbeite an einem Projekt in Python, und ich habe eine Methode erstellt, um eine bestimmte Sache in Tkinter zu zeichnen. Ich möchte es so, dass, wenn ich die Leertaste drücke, das Bild sich selbst neu zeichnen (führen Sie die Methode erneut aus, da ich die Methode so codiert habe, dass sie über sich selbst neu zeichnen konnte). Wie genau würde ich die Leertaste an die Methode binden, so dass das Programm ausgeführt, gezeichnet und neu gezeichnet würde, wenn ich die Leertaste drücke?So binden Sie den SpaceBar-Schlüssel an eine bestimmte Methode in tkinter (Python)
zum Beispiel, ich will es so, dass, wenn ich die Leertaste drücke, zeichnet das Programm in einer zufälligen Stelle auf der Leinwand:
from Tkinter import *
from random import *
root=Tk()
canvas=Canvas(root,width=400,height=300,bg='white')
def draw():
canvas.delete(ALL)# clear canvas first
canvas.create_oval(randint(0,399),randint(0,299),15,15,fill='red')
draw()
canvas.pack()
root.mainloop()
wie würde ich die Leertaste, um das Verfahren zu binden?
Vielen Dank! Ich habe mir andere Fragen angeschaut, aber ich konnte nichts finden, was ich brauchte. Ich denke, das Hinzufügen des Ereignisses = None war wichtig. –
froh zu helfen. Ja, die Callback-Funktion wird von Tkinter mit einem Parameter aufgerufen, so dass etwas übergeben werden muss. Und indem Sie es auf None setzen, können Sie es in Zeile 9 aufrufen, ohne irgendetwas zu übergeben. – twasbrillig