gpt4 book ai didi

python - Tkinter checkbuttons 默认在 Mac 上显示减号

转载 作者:行者123 更新时间:2023-12-05 07:42:35 24 4
gpt4 key购买 nike

我在 Mac 上默认显示减号的复选框有问题:

screenshot

以下代码用于在标签框中生成这些内容:

for x in ["Why", "Do", "These", "Have", "Minus", "Signs", "On", "Them?", "Clicked once", "Clicked twice"]:
check_button = ttk.Checkbutton(
check_button_labelframe,
text=x,
)
check_button.grid(column=0, row=current_button_row, sticky="W")
current_button_row += 1

减号是什么意思?我希望它们被选中或空白(分别如屏幕截图中的“单击一次”和“单击两次”)。我试过提供 variable=somevariable where

somevariable=tk.IntVar()
somevariable.set(1)

但这并没有改变任何东西。我在这里使用 ttk.checkbuttons,当使用 tk.checkbuttons 时,所有的框都是空白的。

编辑:一个更完整的例子:

        cases = {
"case1": {
"description": "This is case 1",
"enabled_or_not": 0,
"enabled_var": tk.IntVar()
},
"case2": {
"description": "This is case 2",
"enabled_or_not": 1,
"enabled_var": tk.IntVar()
}
}

for case in cases.keys():
case_info = cases[case]
case_info["enabled_var"].set(case_info["enabled_or_not"])
check_button = ttk.Checkbutton(
check_button_labelframe,
text=case_info["description"],
variable=case_info["enabled_var"],
onvalue=1,
offvalue=0
)
check_button.grid(column=0, row=current_button_row, sticky="W")
current_button_row += 1

产生这个:

Another screenshot

编辑 2:这似乎与 Mac 动画复选框的方式有关,检查一下:

Screen recording gif

EDIT 1000 (MCVE):你们是对的,伙计们,如果我去掉除复选框以外的所有内容,它会起作用:

app = tk.Tk()
app.wm_title("MCVE")
app.geometry("320x240")

# Tk checkbuttons
first_var = tk.IntVar()
first_var.set(1)
first_checkbox = tk.Checkbutton(app, text="This should be enabled", variable=first_var, onvalue=1, offvalue=0)
first_checkbox.grid(column=0, row=0, sticky="W")

second_var = tk.IntVar()
second_var.set(0)
second_checkbox = tk.Checkbutton(app, text="This should be disabled", variable=second_var, onvalue=1, offvalue=0)
second_checkbox.grid(column=0, row=1)

# Ttk checkbuttons
third_var = tk.IntVar()
third_var.set(1)
third_checkbox = ttk.Checkbutton(app, text="This should be enabled", variable=third_var, onvalue=1, offvalue=0)
third_checkbox.grid(column=0, row=2)

fourth_var = tk.IntVar()
fourth_var.set(0)
fourth_checkbox = ttk.Checkbutton(app, text="This should be disabled", variable=fourth_var, onvalue=1, offvalue=0)
fourth_checkbox.grid(column=0, row=3)

app.mainloop()

It's aliiiive

那么它与变量存储在字典中有什么关系吗?

最佳答案

减号是默认状态,在 Windows 上是灰色背景的复选符号。

我更喜欢在创建复选框后使用 .deselect() 方法 - 看起来更好。

关于python - Tkinter checkbuttons 默认在 Mac 上显示减号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44390211/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com