1

请踢这里查看当前输出和预期输出

我有一个简单的 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
4

4 回答 4

1

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

希望这会有所帮助,祝你好运!

于 2021-01-20T18:59:42.573 回答
1
box.state(['!alternate'])  #box appear unchecked
box.state(['selected'])  #box appear checked
于 2021-11-11T02:37:28.463 回答
0

不知何故 CheckButton = 的初始状态('alternate',)

我在这里找到了一种解决方法:tkk checkbutton 在加载黑框时出现。如果你像这样将它应用到你的代码中,它似乎可以工作:

checkVar = IntVar()
box = ttk.Checkbutton(gui, text ='Urgent Request', command=lambda: urgentReq(), variable=checkVar)
于 2020-06-15T14:23:52.623 回答
-1

我认为您可以写信 box.deselect()取消选择它。编辑:糟糕,我刚刚测试了它,它不适用于 ttk ......对不起。:)

于 2020-06-15T12:02:05.323 回答