默认情况下未选中ttk检查按钮

时间:2020-06-15 11:58:06

标签: python tkinter ttk tkinter.checkbutton ttkwidgets

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

3 个答案:

答案 0 :(得分:1)

使用 .invoke() 方法,但从我在别处读到的内容中,如果关联,也会调用该命令。我试图使用它的实例,我的检查按钮没有命令作为参数,所以这对我来说非常有效。

希望这会有所帮助并祝您好运!

答案 1 :(得分:0)

以某种方式CheckButton的初始状态= ('alternate',)

我在这里找到一种解决方法:tkk checkbutton appears when loaded up with black box in it。如果您将其应用于这样的代码,它似乎可以工作:

checkVar = IntVar()
box = ttk.Checkbutton(gui, text ='Urgent Request', command=lambda: urgentReq(), variable=checkVar)

答案 2 :(得分:-1)

我认为您可以写box.deselect()取消选择它。 编辑:糟糕,我刚刚测试过,它无法与ttk一起使用...对不起。 :)