【发布时间】:2017-06-23 04:24:01
【问题描述】:
在这段代码中,我想知道如何获取rect 变量并在Delete 方法中使用它,就像我尝试过的那样。它目前出现错误。
from tkinter import *
def createRect(event):
rect = w.create_rectangle(50, 25, 150, 75, fill="blue")
return rect
def Start(event):
print("Single Clicked")
createRect(event)
def Delete(event):
i = createRect(event)
print("Double Clicked")
w.delete(i.rect)
root = Tk()
w = Canvas(root, width=200, height=100)
w.pack()
frame = Button(root, text="delete/make")
frame.bind("<Double-1>", Delete)
frame.bind("<Button-1>", Start)
frame.pack()
root.mainloop()
【问题讨论】:
-
rect已经加入了Delete函数。我想你只需要这样做,w.delete(i)...试试吧!! -
做一个参数传递给删除函数,不要依赖全局变量。
-
没有。由于这些函数是无状态的,因此此处无法进行参数。我认为需要一个全球性的。
-
当我只使用 'w.delete(i)' 时,没有错误,但 rect var 不会像调用 'w.delete(i)' 时那样从页面上消失.
-
会出现什么错误?
标签: python function tkinter tkinter-canvas