目标
我正在应用程序中创建一个菜单。在那我想要一个radiobutton。默认情况下,我希望radiobutton处于on
状态。
研究
我在这里找到了如何使用options.add_radiobutton()
命令添加radiobutton
TKinter effbot。但我仍然不知道需要使用哪个选项,因此默认设置为on。
代码
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
。
请帮助我在默认模式下将单选按钮设置为on
位置。
答案 0 :(得分:5)
如果您想切换布尔值,建议您使用add_checkbutton()
代替add_radiobutton()
。
使用单选按钮,您只有一个静态value
选项,在单击该条目时不会更改。另一方面,支票按钮允许您在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)
请注意,您必须用作meny条目的变量的IntVar可以替换self.togglePopUp
变量。
答案 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'
答案 2 :(得分:0)
对我来说,最简单的方法是使用默认值1初始化变量。
var = IntVar(value=1)