在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
函数不能再执行。希望这个解释得很好,我也希望能得到很好的回答。在
好吧,一个简单的解决方案(但不是那么漂亮)就是添加一个布尔标志,当函数第一次运行时,这个标志将被设置为True。 然后使用if语句并返回,不要在create if True中执行任何操作。在
像这样(createRan-是布尔标志):
使用布尔值检查矩形是否已创建,如下所示:
我想你可以在运行完函数后解除绑定。像这样:
相关问题 更多 >
编程相关推荐