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()'은 이전에 이벤트에 지정된 기능을 리턴합니다. 이 값을 저장하고'(create()'함수에서) 복원 할 때'bind ("", previous_value)'를 저장하십시오. –
martineau