禁用带有 if 条件的复选框



我正在尝试制作一个包含组合框和复选框的 GUI。 我希望复选按钮 在选择特定组合框选项时禁用(gey out(。

以下是我的代码:(如果组合框值为 0,我在这里尝试禁用复选框 1(

import Tkinter as tk
import ttk
root=tk.Tk()
combo=ttk.Combobox(root,values=['0','1','2'])
combo.set("Select No")
combo.place(relx=0.01,rely=0.4)
var1=IntVar()
check1=tk.Checkbutton(root,text="Select1", variable=var1)
check1.place(relx=0.01,rely=0.6)
var2=IntVar()
check2=tk.Checkbutton(root,text="Select2", variable=var2)
check2.place(relx=0.4,rely=0.6)
if combo.get()=='0':
check1.config(state=tk.DISABLED)
root.mainloop()

可以使用ComboboxSelected事件绑定,如下所示:

def disable(event):
if combo.get()=='0':
check1.config(state = tk.DISABLED)
combo.bind("<<ComboboxSelected>>", disable)

每次更改Combobox的值时都会调用回调函数disable

最新更新