いくつかの方法でそれを行うことができます。
buttonClickedサブクラスでシグナルをキャッチし、 を含む独自のシグナルを発行できますtuple_pair。
class TupleButtonGroup(QtGui.QButtonGroup):
buttonClickedWithData = QtCore.pyqtSignal(tuple, QtGui.QAbstractButton)
def __init__(self,parent, tuple_pair):
super(TupleButtonGroup, self).__init__(parent)
self.tuple_pair = tuple_pair
self.buttonClicked[QtGui.QAbstractButton].connect(self.on_buttonClicked)
@QtCore.pyqtSlot(QtGui.QAbstractButton)
def on_buttonClicked(self, button):
self.buttonClickedWithData.emit(self.tuple_pair, button)
次に、その新しい信号に接続するだけです
button_group.buttonClickedWithData.connect(self.labelchanged)
@QtCore.pyqtSlot(tuple, QtGui.QAbstractButton)
def labelchanged(self, tuple_pair, button):
print tuple_pair
print button.text()
もう 1 つのオプションは、既存のクラス、シグナル、およびスロットを使用し、.sender()メソッドを使用してスロット メソッド内からボタン グループへの参照を取得することです。
@QtCore.pyqtSlot(QtGui.QAbstractButton)
def labelchanged(self, button):
btngroup = self.sender()
print btngroup.tuple_pair
print button.text()