0
如何实际禁用Canvas小部件,而不是其中的任何对象,而是整个Canvas。tkinter禁用画布不工作
以下代码尝试在单击并更改其颜色后禁用画布。但是你可以看到,它仍然可以被点击并在黄色和黑色之间点击。
我本来希望在禁用之后,它不会对任何事件作出响应,并且可能会灰掉。
import tkinter as tk
w=tk.Tk()
color="yellow"
def flip(a):
global color
if color=="yellow": color="black"
else: color="yellow"
c.config(bg=color)
c.config(state="disabled") # does not work
c=tk.Canvas(w,width=20, height=20, bg=color)
c.place(x=30, y=30)
c.bind("<1>",flip)
感谢翻转的颜色。我也试过tk.Misc.unbind_all <"1>“,但也没有工作,但c.unbind()的工作。谢谢 – ffrree
它没有工作,因为'unbind_all('<1>')'不解除绑定'所有小部件'<1>',但只有用'bind_all'完成的绑定。 –