默认情况下不会取消选中 ttk checkbutton
ttk checkbutton is not deselected by default
Please kick here to see the current output and expected output
我有一个简单的 python 程序,我想在其中取消选中默认的复选按钮。我希望以与用户取消选中复选框时相同的方式查看它。请让我知道如何实现它。
from tkinter import *
from tkinter import ttk
def urgentReq():
global box
state = box.state()
if(box.instate(['selected'])):
print ("--> Urgent: ",state)
else:
print ("--> Not Urgent:",state)
gui = Tk()
gui.title("GUI")
gui.geometry('200x150')
box = ttk.Checkbutton(gui, text ='Urgent Request', command=lambda: urgentReq())
box.grid(column=1, row=4, pady=40, sticky="N")
#write something here to unselect the box by default
我想你可以写box.deselect()
来取消选择它。
编辑:哎呀,我刚刚测试过,它不能与 ttk 一起使用...抱歉。 :)
CheckButton 的初始状态 = ('alternate',)
.
我在这里找到了一个解决方法:。如果你像这样将它应用到你的代码中,它似乎可以工作:
checkVar = IntVar()
box = ttk.Checkbutton(gui, text ='Urgent Request', command=lambda: urgentReq(), variable=checkVar)
使用 .invoke() 方法,但从我在其他地方读到的内容来看,如果有关联的话,也会调用该命令。在我尝试使用它的实例中,我的检查按钮没有命令作为参数,所以这对我来说非常有效。
希望这对您有所帮助,祝您好运!
box.state(['!alternate']) #box appear unchecked
box.state(['selected']) #box appear checked
Please kick here to see the current output and expected output
我有一个简单的 python 程序,我想在其中取消选中默认的复选按钮。我希望以与用户取消选中复选框时相同的方式查看它。请让我知道如何实现它。
from tkinter import *
from tkinter import ttk
def urgentReq():
global box
state = box.state()
if(box.instate(['selected'])):
print ("--> Urgent: ",state)
else:
print ("--> Not Urgent:",state)
gui = Tk()
gui.title("GUI")
gui.geometry('200x150')
box = ttk.Checkbutton(gui, text ='Urgent Request', command=lambda: urgentReq())
box.grid(column=1, row=4, pady=40, sticky="N")
#write something here to unselect the box by default
我想你可以写box.deselect()
来取消选择它。
编辑:哎呀,我刚刚测试过,它不能与 ttk 一起使用...抱歉。 :)
CheckButton 的初始状态 = ('alternate',)
.
我在这里找到了一个解决方法:
checkVar = IntVar()
box = ttk.Checkbutton(gui, text ='Urgent Request', command=lambda: urgentReq(), variable=checkVar)
使用 .invoke() 方法,但从我在其他地方读到的内容来看,如果有关联的话,也会调用该命令。在我尝试使用它的实例中,我的检查按钮没有命令作为参数,所以这对我来说非常有效。
希望这对您有所帮助,祝您好运!
box.state(['!alternate']) #box appear unchecked
box.state(['selected']) #box appear checked