如何解决在Tkinter中解除绑定功能后如何再次绑定?
在用户使用其他功能选择图像上的一些点之后,我尝试将按钮绑定到其他功能。目前,我正在这样做-
canvas.bind("<Button-1>",func1)
canvas.unbind("<Button-1>")
canvas.bind("<Button-1>",func2)
这不能解决我的问题,因为只有func2正在执行。我还尝试将unbind语句添加到func1和func2(在满足某些条件后运行),但是同一件事正在发生。有没有办法让此顺序运行,以便我可以与func1->解除绑定func1->与func2结合->解除func2绑定。
我只想在一幅图像中进行点选择,而不必将图像再次放在画布上。另外,有没有更好的方法来解决这个问题?
解决方法
看看这个例子,在根窗口上单击两次,将使用func2
。
from tkinter import *
root = Tk()
count = 0
def func1(event):
global count
count += 1
print('FUNC1')
if count == 2:
root.unbind('<Button-1>')
root.bind('<Button-1>',func2)
count = 0
def func2(event):
print('FUNC2') #you can create similar logic to switch back to func1 here too
root.bind('<Button-1>',func1)
root.mainloop()
使用计数器是执行此操作的一种简便方法,不确定这是否是您要寻找的,但是您可以从这里获得一个想法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。