【问题标题】:Make tkinter ttk checkbutton be empty when False当 False 时使 tkinter ttk checkbutton 为空
【发布时间】:2021-07-21 19:44:58
【问题描述】:

我正在使用 Tkinter 制作一个简单的界面,并注意到当它们的 Checkbutton 值为 False 或未单击时,它会显示一个黑色方块覆盖按钮,而不是简单地为空。示例:。我想要的只是当它的状态为 False 时让按钮完全为空,做了一些挖掘却找不到它。感谢您的时间和帮助!

这是有问题的代码:

querlog = ttk.Checkbutton(window, text='Quero salvar o log', command=quer_salvar_log)
querarquivo = ttk.Checkbutton(window, text='Quero salvar o arquivo de som', command=quer_salvar_som)

【问题讨论】:

  • 您可以使用 onvalue 和 offvalue 参数通过任何检查按钮小部件!
  • @BhavyaParikh 没有必要(默认为 0(offvalue),因此将其设置为 0 即可),在这种情况下也无济于事

标签: python python-3.x user-interface tkinter


【解决方案1】:

您应该将变量与复选按钮相关联,并且您需要确保将变量设置为与offvalue 选项相同的值。 offvalue 默认为零。您还需要确保保留引用,以便变量不会被垃圾收集器破坏(即:不要使用局部变量)

querlog_var = tk.StringVar(value=0)
querarquivo_var = tk.StringVar(value=0)

querlog = ttk.Checkbutton(window, text='Quero salvar o log', command=quer_salvar_log, variable=querlog_var)
querarquivo = ttk.Checkbutton(window, text='Quero salvar o arquivo de som', command=quer_salvar_som, variable=querarquivo_var)

【讨论】:

    【解决方案2】:

    我在不使用 variable= 时注意到了同样的问题,所以这里是如何做到的:

    Checkbutton(master, variable='', **kwargs)
    

    您可以将variable 属性设置为空字符串,这应该可以修复它

    【讨论】:

    • 我不确定我是否理解,抱歉。我的代码功能齐全,我只想进行美学上的改变,当按钮没有被点击/错误时,它没有被黑色填充,里面没有任何东西。如果这就是您的意思,很抱歉没有理解,感谢您的帮助!
    • 我是说您需要在此处添加 IntVar() 实例作为值:variable=int_var_instance in Checkbutton, wati
    • 我编辑了代码以更好地解决问题(没什么复杂的)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-10-26
    • 1970-01-01
    • 1970-01-01
    • 2018-05-17
    • 1970-01-01
    • 2023-04-07
    • 2012-10-17
    相关资源
    最近更新 更多