我有Listbox,我把它绑定了一个动作,但事情是如果没有结果显示(空列表框),那个绑定仍然有效。因此,对于这些情况,我需要更新该绑定。
这是我的清单
lst = tk.Listbox(self.frm2, selectmode="SINGLE", width="40", yscrollcommand=scrollbar.set)
lst.bind("<Double-Button-1>", open_folder)
lst.pack(fill="both")
对于一个按钮,我知道,即使打包它,我也可以通过类似的方式改变它的选项。
btn1 = tk.Button(root, text="button", command=do_smth)
btn1.pack()
btn1["state"] = "disabled"
所以我试过了,但它没有用。
lst["bind"] = ("<<ListboxSelect>>", do_nothing)
_tkinter.TclError: unknown option "-bind"
答案 0 :(得分:1)
使用unbind
方法:
lst.unbind("<Double-Button-1>")
答案 1 :(得分:0)
希望将Bryan's comment转换为答案,因为可能是比切换绑定更好的方法。
def open_folder(event):
if event.widget.curselection():
#do your things if anything is selected