簡體   English   中英

ttk checkbutton 默認不取消選中

[英]ttk checkbutton is not deselected by default

請點擊此處查看當前 output 和預期 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

使用 .invoke() 方法,但從我在別處讀到的內容中,如果有關聯,也會調用該命令。 我試圖使用它的實例,我的檢查按鈕沒有命令作為參數,所以這對我來說非常有效。

希望這會有所幫助,祝你好運!

CheckButton = ('alternate',)的初始 state 不知何故。

我在這里找到了一種解決方法: tkk checkbutton 在加載黑框時出現 如果你像這樣將它應用到你的代碼中,它似乎可以工作:

checkVar = IntVar()
box = ttk.Checkbutton(gui, text ='Urgent Request', command=lambda: urgentReq(), variable=checkVar)
box.state(['!alternate'])  #box appear unchecked
box.state(['selected'])  #box appear checked

我認為您可以編寫box.deselect()來取消選擇它。 編輯:糟糕,我剛剛測試了它,它不適用於 ttk ......對不起。 :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM