【问题标题】:Checkbutton checks itself regardless of state无论状态如何,Checkbutton 都会自行检查
【发布时间】:2015-11-30 20:20:28
【问题描述】:

我的 tkinter 窗口中有一个复选按钮,它在其他方面工作正常,但无论我做什么,它都会以灰色显示并检查。我必须单击一次以删除灰色,然后再次取消选中它。我不知道它为什么这样做,除了它只在使用 StringVar 时发生,而不是 IntVar 例如。我只是希望它像任何其他常规复选框一样开始未选中。这是我的代码:

 self.symptom1Var = StringVar()
 self.symptomCheck1 = Checkbutton(self, text="Symptom", variable = self.symptom1Var)
 self.symptomCheck1.grid(row=2, column=0)

【问题讨论】:

  • symptom1Varinitial 值是多少?
  • 使用 deselect() 或 select() 函数修改默认状态,具体取决于您希望如何启动它们。

标签: python tkinter


【解决方案1】:

唯一的问题是您没有为检查按钮提供默认值,因此它以不确定的状态开始。

StringVar 的初始值是一个空字符串,checkbutton 的默认“on”值是1,checkbutton 的默认“off”值是 0。由于您尚未将其设置为10,因此它处于不确定状态(既未选中也未选中)。

解决方案是通过设置关联变量来确保将其设置为选中或未选中状态:

self.symptom1Var.set(1)

【讨论】:

    猜你喜欢
    • 2020-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 2013-12-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多