在菜单中将复选按钮的默认值设置为True
目标
我正在应用程序里创建一个菜单。在这个菜单中,我想要一个单选按钮(radiobutton)。而且我希望这个单选按钮默认是处于 开
的状态。
研究
我找到了如何使用 options.add_radiobutton()
命令来添加单选按钮,具体可以参考这个链接 TKinter effbot。但是我还是不知道应该使用哪个选项,才能让它默认设置为开。
代码
optionsmenu = Menu(menubar,tearoff=0)
optionsmenu.add_radiobutton(label='Pop Up set to on??',command=self.togglePopUp)
关于 self.togglePopUp
的代码:
def togglePopUp(self,event=None):
if self.showPopUp:
self.showPopUp = False
else:
self.showPopUp = True
我会把 self.showPopUp
初始化为 True
。
请 帮我设置单选按钮在默认模式下为 开
的状态。
3 个回答
0
我认为最简单的方法就是把变量初始化为默认值1。
var = IntVar(value=1)
0
正如 @A Rodas 提到的:
self.var = IntVar()
self.var.set(1)
optionsmenu.add_checkbutton(label='Pop Up set to on??', command=self.togglePopUp,
variable=self.var, onvalue=1, offvalue=0)
要获取这个变量的值,可以使用:
if self.var.get() == 1:
self.showpopup()
else:
print 'popup has been disabled. you can toggle this option in the options menu'
7
如果你想要切换布尔值(就是真和假),我建议你使用 add_checkbutton()
,而不是 add_radiobutton()
。
使用单选按钮(radiobutton)时,你只能设置一个固定的 value
值,这个值在点击时不会改变。而复选按钮(checkbutton)则可以让你在 onvalue
和 offvalue
之间切换。
self.var = IntVar(root)
self.var.set(1)
optionsmenu.add_checkbutton(label='Pop Up set to on??', command=self.togglePopUp,
variable=self.var, onvalue=1, offvalue=0)
请注意,你需要用来作为菜单项的变量 IntVar 可以替代 self.togglePopUp
这个变量。