5

目标

我正在应用程序中创建一个菜单。在那我想要一个单选按钮。默认情况下,我希望单选按钮处于on状态。

研究

我找到了如何使用TKinter effbotoptions.add_radiobutton()此处的命令 添加单选按钮。但我仍然不知道需要使用哪些选项,因此默认设置为打开。

代码

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.showPopUpTrue.

帮助我将单选按钮设置为on默认模式下的位置。

4

3 回答 3

7

如果你想切换布尔值,我建议你使用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变量。

于 2013-03-23T14:46:52.410 回答
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'
于 2013-03-24T14:21:15.270 回答
0

根据我的说法,最简单的方法是使用默认值 1 初始化变量。

var = IntVar(value=1)
于 2018-10-30T16:38:59.430 回答