Tkinter 取消绑定
取消绑定obj的方法如下。
obj.unbind("<xxx>") # <xxx>是绑定方式
示例1
这是一个tkinter按钮程序,在tkinter按钮下方有复选框bind/unbind。如果勾选这个复选框,相当于有绑定,在单击tkinter按钮时Python Shell会列出字符串Welcome to apidemos.com
。如果没有选择这个复选框,相当于没有绑定,在单击tkinter按钮时Python Shell没有任何动作产生。
from tkinter import *
def buttonClicked(event): # Button按钮事件处理程序
print("Welcome to apidemos.com")
# 所传递的对象onoff是btn对象
def toggle(onoff): # 切换绑定
if var.get(): # 如果True绑定
onoff.bind("<Button-1>",buttonClicked)
cbtn.config(text="Binded")
else: # 如果False不绑定
onoff.unbind("<Button-1>")
cbtn.config(text="UnBinded")
root = Tk()
root.title("apidemos.com") # 窗口标题
root.geometry("300x180") # 窗口宽300高180
btn = Button(root,text="tkinter")
btn.pack(anchor=W,padx=10,pady=10)
var = BooleanVar()
# var.set(True)
cbtn = Checkbutton(root,text="bind/unbind",variable=var,
command=lambda:toggle(btn))
cbtn.pack(anchor=W,padx=10)
# var.set(True)
root.mainloop()
输出:
当按钮与复选框绑定时,单击tkinter按钮会在Python Shell窗口中打印apidemos.com
字符串。