goal
了解Tkinter菜单中的单选按钮的工作原理
code
我在选项菜单中有一个单选按钮,如下所示: ``
`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相关的代码片段 .
Question
现在我的问题是,当我按下radiobutton(运行代码之后)将改变变量的值或调用函数togglePopUp?如果将调用该函数,那么radiobutton的状态会发生什么变化?无线电按钮的状态会立即更新还是会有延迟?
research
我从effbot.org的Tkinter书中读到了radiobutton和布尔变量 . 但我不相信它是如何运作的 . 我尝试了一个程序,但我没有得到我本来想要的输出 . 所以我决定了解它在更深层次上的运作方式 .
specs python 2.7 Tkinter 8.5 Linux Mint 14
1 回答
这两种行为都会发生 . 当您单击radiobutton时,首先变量将更改其值,然后调用作为
command
选项传递的事件处理程序(如果存在) .你的例子也行不通,因为
add_radiobutton
不允许onvalue
和offvalue
选项 - 只有value
.