2

私はPyQtでウィザードをプログラミングしています。最初のページでは、2つのオプションから2回選択する選択肢をユーザーに提供したいと思います。そのため、ボタングループを作成することにしました。ただし、最初の2つのラジオボタンを最初のボタングループに追加し、他の2つを2番目のボタングループに追加しましたが、ボタンはまだ排他的です(ページ上で選択できるボタンは1つだけです)。

これが私のコードです:

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

私の間違いはどこにあり、何を変えなければならないのか、あなたは何か考えがありますか?

4

1 に答える 1

4

問題は、QButtonGroupsが階層の一部になることはないため、効果がないことです。

ところで:コードを投稿するときは、実行可能にするために必要な部分を追加してみてください:

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

これで問題が解決するはずです。

于 2012-12-05T21:09:30.013 に答える