在tkinter,python中,我試圖創建一個程序,它涉及到在畫布上創建一個圖形並點擊按鈕,並且不會創建更多的圖形。這裏是我的代碼:使用Tkinter在第一次點擊後只能運行一次的函數?
from tkinter import *
root = Tk()
canvas = Canvas(root) # Creating Canvas
canvas.pack()
def create(event):
x1, y1 = (event.x - 5), (event.y - 5)
x2, y2 = (event.x + 5), (event.y + 5) # Creates Rectangle Where Button Clicked
canvas.create_rectangle(x1,y1,x2,y2,fill='red')
root.bind_all("<Button-1>", create) # Binds Mouse Click Button
citybg = PhotoImage(file= r"example.png")
citybgimage = canvas.create_image(50, 50, image=citybg) # Background for Canvas
我的問題是,如何讓矩形只能夠創造一次和只有一次,並且不再執行的create
功能。希望這個解釋得很好,我希望能很好地回答。
'root.bind_all()'將返回先前分配給該事件的函數。保存這個值,然後'bind(「」,previous_value)'當你想恢復它時(可能在'create()'函數中)。 –
martineau