Python 2.7 两个用于切换声音不正常工作的复选按钮

Python 2.7 两个用于切换声音不正常工作的复选按钮,python-2.7,button,tkinter,Python 2.7,Button,Tkinter,我的目标是打开和关闭这两个复选按钮来切换声音,这样一来,一次只能打开/关闭其中一个复选按钮。目前这种效果不起作用,我已经看了一个小时的代码,没有发现问题。当我的完整程序运行时,所有内容都会显示出来,但这个开/关切换无法按我所希望的方式工作 感谢所有的帮助, 谢谢问题在于您将命令设置为函数调用,而不是函数引用。这使函数运行一次,并将返回值(None)分配给命令。应该删除函数名后的括号 要做两个只能选择一个的选项,为什么不做呢?那就简单到 self.mb = Menubutton ( se

我的目标是打开和关闭这两个复选按钮来切换声音,这样一来,一次只能打开/关闭其中一个复选按钮。目前这种效果不起作用,我已经看了一个小时的代码,没有发现问题。当我的完整程序运行时,所有内容都会显示出来,但这个开/关切换无法按我所希望的方式工作

感谢所有的帮助,
谢谢

问题在于您将
命令
设置为函数调用,而不是函数引用。这使函数运行一次,并将返回值(
None
)分配给
命令
。应该删除函数名后的括号


要做两个只能选择一个的选项,为什么不做呢?那就简单到

    self.mb = Menubutton ( self.window2, text="Sound Toggler", relief=RAISED )
    self.mb.grid(row=4, column = 0)
    self.mb.menu  =  Menu ( self.mb, tearoff = 0 )
    self.mb["menu"]  =  self.mb.menu

    self.ONSound  = IntVar()
    self.ONSound.set(1)
    self.OFFSound = IntVar()
    self.OFFSound.set(0)

    self.mb.menu.add_checkbutton ( label="ONSound", variable=self.ONSound, command = self.turnON(), onvalue=1,offvalue=0)
    self.mb.menu.add_checkbutton ( label="OFFSound", variable=self.OFFSound, command = self.turnOFF(), onvalue=1,offvalue=0)

def turnON(self):
    self.ONSound.set(1)
    self.OFFSound.set(0)

def turnOFF(self):
    self.ONSound.set(0)
    self.OFFSound.set(1)

我没想到要用单选按钮。在执行此操作时,如何获取激活的单选按钮?我需要抓住活动按钮,将my self.soundToggle变量的值更改为0或1,表示关闭和打开声音。这样,
self.Sound
是一个
IntVar
,当选择
ONSound
时,其值为1,当选择
OFFSound
时,其值为0。您可以使用
self.Sound.get()
获得该值。除了最初将声音设置为选中状态外,其他一切都可以完美地工作?但是,我希望在我发现问题时使用默认值。我只需要在创建单选按钮后将声音设置为1。非常感谢你的帮助!为什么不使用一个选中按钮,选中时打开声音,不选中时关闭声音?
self.Sound  = IntVar()

self.mb.menu.add_radiobutton(label= "ONSound", variable=self.Sound, value=1)
self.mb.menu.add_radiobutton(label="OFFSound", variable=self.Sound, value=0)