将ttk.Checkbutton设置为既不打开也不关闭,三态

时间:2019-01-24 16:24:40

标签: python tkinter

我想将ttk.Checkbutton小部件设置为其第三状态。如果我有一个可以设置或清除一组Checkbutton的“ All” Checkbutton,我希望在所有Check button都已关闭的情况下将其显示为Off,如果它们都处于打开状态则将其显示为OFF,如果有混合,则将其显示为Tristate。

我已经找到了一种使用小部件状态执行此操作的方法,但是有没有一种方法可以简单地使用附加的tk.xxVar?先前的答案是关于logging.handlers.WatchedFileHandler的,但我还没有找到一种访问方法。

下面的代码设置为在按下按钮时在3种状态之间循环。通过将状态更改为“备用”来工作。

tristatevalue

谢谢您的建议。

编辑以纠正错字。

1 个答案:

答案 0 :(得分:0)

tristate选项仅适用于tkinter复选按钮,不适用于ttk复选按钮。

对于ttk复选按钮,您可以通过将其状态设置为“备用”来获得第三个状态:

the_checkbutton.state(['alternate'])

我不确定所有的ttk主题是否都支持该第三状态。