Python Tkinter菜单中的单选按钮

Python Tkinter菜单中的单选按钮,python,tkinter,Python,Tkinter,目标 了解Tkinter菜单中的单选按钮是如何工作的 代码 我在选项菜单中有一个单选按钮,因此: v=BooleanVar() v、 设置(真) 选项.add_单选按钮(label=“change pop-up”,command=togglePopUp,variable=v,onvalue=True,offvalue=False) togglePopUp是一种将变量v的值从True更改为False的函数,反之亦然。主窗口已打开,此菜单稍后将添加到窗口中。这只是与radiobutton相关的代

目标

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

代码

我在选项菜单中有一个单选按钮,因此:

v=BooleanVar() v、 设置(真) 选项.add_单选按钮(label=“change pop-up”,command=togglePopUp,variable=v,onvalue=True,offvalue=False)

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

问题

现在我的问题是,当我按下单选按钮(运行代码后)时,变量的值会被更改还是函数togglePopUp会被调用?如果调用该函数,则radiobutton的状态会发生什么变化?收音机按钮的状态会立即更新还是会有延迟

研究

我从effbot.org上的Tkinter书中读到了关于单选按钮和布尔变量的内容。但我不相信它是如何工作的。我尝试了一个程序,但没有得到我想要的结果。所以我决定在更深层次上理解它是如何工作的

规范python 2.7 Tkinter 8.5
Linux Mint 14

这两个操作都将发生。单击单选按钮时,首先变量将更改其值,然后调用作为
命令传递的事件处理程序
选项(如果存在)


另外,您的示例也不起作用,因为
add_radiobutton
不允许
onvalue
offvalue
选项-只允许
value

您只需尝试一下并观察发生了什么。我做了,但无法真正理解里面发生了什么!!我不明白你在说什么。小部件的正常行为是什么??它是否会改变变量???@IcyFlame按正常行为我指的是发生的默认操作-在本例中,单击小部件时改变变量的值。我已经更新了答案以反映这一点。对不起。@罗达斯。我弄错了一个单选按钮和一个检查按钮!!很抱歉 v = BooleanVar() v.set(True) options.add_radiobutton(label="change pop up", command =togglePopUp,variable=v,onvalue=True,offvalue=False)