Tkinter问题:选中一个复选框将选中所有复选框

2024-04-23 12:17:56 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在写一个小程序,需要用户决定一些布尔值。我已经做了一些复选框来处理这个部分,但问题是每次我选中或取消选中一个,其他的都会跟着做。你知道吗

我在网上搜索过,但我找到的唯一解释(python 2.7 using tkinter -all checkbox are being checked when click on one only)似乎不适用于我的情况。你知道吗

import tkinter as tk

''' Init '''
variable1 = True
variable2 = True
variable3 = True

''' Set window '''
window = tk.Tk()
window.title('Title')
window.geometry('600x400')

''' Contents '''
check1 = tk.Checkbutton(window, text="Sometext_1", variable=variable1, onvalue=True, offvalue=False, height=2)
check2 = tk.Checkbutton(window, text="Sometext_2", variable=variable2, onvalue=True, offvalue=False, height=2)
check3 = tk.Checkbutton(window, text="Sometext_3", variable=variable3, onvalue=True, offvalue=False, height=2)

''' Show '''
check1.pack()
check2.pack()
check3.pack()


''' Window loop '''
window.mainloop()

似乎这些复选框应该单独选中,而不是作为一个复选框来选中和取消选中。如有任何意见,我们将不胜感激。你知道吗


Tags: textfalsetruetkinterwindowvariablepacktk
1条回答
网友
1楼 · 发布于 2024-04-23 12:17:56

variable属性的值必须是一个特殊tkinter变量StringVarIntvarDoubleVarBooleanVar的实例。你知道吗

variable1 = tk.BooleanVar(value=True)
variable2 = tk.BooleanVar(value=True)
variable3 = tk.BooleanVar(value=True)

注意:您只能在创建根窗口之后创建这些变量。你知道吗

相关问题 更多 >