2012-12-05 3 views
2

저는 PyQt로 마법사를 프로그래밍하고 있습니다. 첫 번째 페이지에서 두 가지 옵션 중 두 번을 선택할 수있는 선택권을 사용자에게 부여하려고합니다. 따라서 Buttongroups로 만들기로했습니다. 그러나 첫 번째 Buttongroup에 처음 두 개의 라디오 버튼을 추가하고 두 번째 버튼에 다른 두 개의 라디오 버튼을 추가했지만 버튼은 여전히 ​​독점적입니다 (페이지에서 버튼 하나만 선택할 수 있음).하나의 창에 여러 QButtonGroups가 있습니다.

# 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) 

당신이 어떤 내 실수 아이디어와 내가 무엇을 변경해야이 있습니까 : 여기

내 코드?

답변

2

문제는 QButtonGroups가 계층 구조의 일부가 아니므로 효과가 없다는 것입니다.

은 BTW : 코드를 게시 할 때 그것을 실행 가능한 만들기 위해이 켜지지 부분을 추가하려고 :

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() 

이 문제를 해결해야한다.

+1

답변과 향후 게시물에 대한 정보를 보내 주셔서 감사합니다. 기타 : 솔루션은 ButtonGroups의 대괄호 (예 : bGBackupToIntExt = QtGui.QButtonGroup (** self **))에 "self"를 추가하는 것이 었습니다. –

관련 문제