Python 一个窗口中有多个QButtonGroup
我正在用PyQt编写一个向导。在第一页,我想让用户在两个选项中选择两次。 因此,我决定做按钮组。但是,尽管我将前两个单选按钮添加到第一个Buttongroup,将另外两个添加到第二个Buttongroup,但这些按钮仍然是独占的(我只能在页面上选择一个按钮) 这是我的密码:Python 一个窗口中有多个QButtonGroup,python,radio-button,pyqt,radio-group,buttongroup,Python,Radio Button,Pyqt,Radio Group,Buttongroup,我正在用PyQt编写一个向导。在第一页,我想让用户在两个选项中选择两次。 因此,我决定做按钮组。但是,尽管我将前两个单选按钮添加到第一个Buttongroup,将另外两个添加到第二个Buttongroup,但这些按钮仍然是独占的(我只能在页面上选择一个按钮) 这是我的密码: # Setup UI layout = QtGui.QVBoxLayout() gBBackupFromIntExt = QtGui.QGroupBox() layout.addWidget
# Setup UI
layout = QtGui.QVBoxLayout()
gBBackupFromIntExt = QtGui.QGroupBox()
layout.addWidget(gBBackupFromIntExt)
bGBackupFromIntExt = QtGui.QButtonGroup()
self.rBBackupFromExt = QtGui.QRadioButton()
bGBackupFromIntExt.addButton (self.rBBackupFromExt)
layout.addWidget(self.rBBackupFromExt)
self.rBBackupFromInt = QtGui.QRadioButton()
bGBackupFromIntExt.addButton (self.rBBackupFromInt)
layout.addWidget(self.rBBackupFromInt)
gBBackupToIntExt = QtGui.QGroupBox()
layout.addWidget(gBBackupToIntExt)
bGBackupToIntExt = QtGui.QButtonGroup()
self.rBBackupToExt = QtGui.QRadioButton()
bGBackupToIntExt.addButton (self.rBBackupToExt)
layout.addWidget(self.rBBackupToExt)
self.rBBackupToInt = QtGui.QRadioButton()
bGBackupToIntExt.addButton (self.rBBackupToInt)
layout.addWidget(self.rBBackupToInt)
你知道我的错误在哪里吗?我必须改变什么吗?问题是QButtonGroup从未成为层次结构的一部分,因此它们没有任何效果 顺便说一句:发布代码时,请尝试添加必要的部分以使其可运行:
from PyQt4 import QtGui
import sys
class Test(QtGui.QWidget):
def __init__(self):
super().__init__()
layout = QtGui.QVBoxLayout(self)
gBBackupFromIntExt = QtGui.QGroupBox()
layout.addWidget(gBBackupFromIntExt)
bGBackupFromIntExt = QtGui.QButtonGroup(self)
self.rBBackupFromExt = QtGui.QRadioButton()
bGBackupFromIntExt.addButton(self.rBBackupFromExt)
layout.addWidget(self.rBBackupFromExt)
self.rBBackupFromInt = QtGui.QRadioButton()
bGBackupFromIntExt.addButton(self.rBBackupFromInt)
layout.addWidget(self.rBBackupFromInt)
gBBackupToIntExt = QtGui.QGroupBox()
layout.addWidget(gBBackupToIntExt)
bGBackupToIntExt = QtGui.QButtonGroup(self)
self.rBBackupToExt = QtGui.QRadioButton()
bGBackupToIntExt.addButton (self.rBBackupToExt)
layout.addWidget(self.rBBackupToExt)
self.rBBackupToInt = QtGui.QRadioButton()
bGBackupToIntExt.addButton (self.rBBackupToInt)
layout.addWidget(self.rBBackupToInt)
a = QtGui.QApplication(sys.argv)
t = Test()
t.show()
a.exec()
这应该可以解决问题。问题是QButtonGroup从来都不是层次结构的一部分,因此它们没有任何效果 顺便说一句:发布代码时,请尝试添加必要的部分以使其可运行:
from PyQt4 import QtGui
import sys
class Test(QtGui.QWidget):
def __init__(self):
super().__init__()
layout = QtGui.QVBoxLayout(self)
gBBackupFromIntExt = QtGui.QGroupBox()
layout.addWidget(gBBackupFromIntExt)
bGBackupFromIntExt = QtGui.QButtonGroup(self)
self.rBBackupFromExt = QtGui.QRadioButton()
bGBackupFromIntExt.addButton(self.rBBackupFromExt)
layout.addWidget(self.rBBackupFromExt)
self.rBBackupFromInt = QtGui.QRadioButton()
bGBackupFromIntExt.addButton(self.rBBackupFromInt)
layout.addWidget(self.rBBackupFromInt)
gBBackupToIntExt = QtGui.QGroupBox()
layout.addWidget(gBBackupToIntExt)
bGBackupToIntExt = QtGui.QButtonGroup(self)
self.rBBackupToExt = QtGui.QRadioButton()
bGBackupToIntExt.addButton (self.rBBackupToExt)
layout.addWidget(self.rBBackupToExt)
self.rBBackupToInt = QtGui.QRadioButton()
bGBackupToIntExt.addButton (self.rBBackupToInt)
layout.addWidget(self.rBBackupToInt)
a = QtGui.QApplication(sys.argv)
t = Test()
t.show()
a.exec()
这应该可以解决问题。非常感谢您的回答和有关未来帖子的信息,现在它可以正常工作了!对于其他人:解决方案是在按钮组的括号中添加“self”(即bgbackuptinext=QtGui.QButtonGroup(self))非常感谢你的回答和关于未来帖子的信息,现在它工作正常了!对于其他人:解决方案是在按钮组的括号中添加“self”(即bgbackuptinext=QtGui.QButtonGroup(self)