将菜单中的checkbutton的默认值设置为True

时间:2013-03-23 09:15:37

标签: python tkinter

目标

我正在应用程序中创建一个菜单。在那我想要一个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位置。

3 个答案:

答案 0 :(得分:5)

如果您想切换布尔值,建议您使用add_checkbutton()代替add_radiobutton()

使用单选按钮,您只有一个静态value选项,在单击该条目时不会更改。另一方面,支票按钮允许您在onvalueoffvalue选项之间进行更改。

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)