禁用带有条件的检查按钮

时间:2019-09-23 11:35:42

标签: python tkinter

我正在尝试制作一个包含组合框和复选按钮的GUI。 我想要检查按钮 选择特定的组合框选项后,将其禁用(灰色)。

以下是我的代码:(如果组合框值为0,我在这里试图禁用checkbox1)

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()

1 个答案:

答案 0 :(得分:1)

您可以如下使用ComboboxSelected事件绑定:

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

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