Tkinter菜单中的单选按钮

时间:2013-03-29 09:32:37

标签: python tkinter

目标

了解Tkinter菜单中的单选按钮是如何工作的

我在选项菜单中有一个单选按钮,如下所示:

v = BooleanVar()

v.set(True)

options.add_radiobutton(label="change pop up", command =togglePopUp,variable=v,onvalue=True,offvalue=False)

togglePopUp是一个将变量v的值从True更改为False的函数,反之亦然。主窗口已经打开,此菜单将稍后添加到窗口中。这只是与radiobutton相关的代码片段。

问题

现在我的问题是,当我按下radiobutton(运行代码后)时,变量的值是否会被更改,或者是否会调用函数togglePopUp?如果将调用该函数,那么radiobutton的状态会发生什么变化?无线电按钮的状态会立即更新还是会有延迟?

研究

我在effbot.org上阅读了Tkinter书中的radiobutton和布尔变量。但我不相信它是如何运作的。我尝试了一个程序,但我没有得到我本来想要的输出。所以我决定了解它如何在更深层次上运作。

specs python 2.7 Tkinter 8.5 Linux Mint 14

1 个答案:

答案 0 :(得分:3)

这两种行为都会发生。单击radiobutton时,首先变量将更改其值,然后调用作为command选项传递的事件处理程序(如果存在)。

此外,您的示例也不起作用,因为add_radiobutton不允许onvalueoffvalue选项 - 仅value