Сигнал PyQt / SLOT разных классов - PullRequest
2 голосов
/ 15 августа 2010

Могу ли я соединить два объекта разных классов?

Допустим, я хочу, чтобы сигнал button1 clicked () очищал line2

class A(QGroupBox):
    def __init__(self, parent=None):
        super(A, self).__init__(parent)
        self.button1= QPushButton('bt1')
        self.button1.show()

class B(QGroupBox):
    def __init__(self, parent=None):
        super(B, self).__init__(parent)
        self.line2 = QLineEdit()
        self.line2.show()

ob1 = A()
ob2 = B()

1 Ответ

3 голосов
/ 15 августа 2010

Да, создайте метод в объекте B, который привязан к сигналу в объекте A. Обратите внимание, как вызывается connect (это только пример):

    self.connect(self.okButton, QtCore.SIGNAL("clicked()"),
                 self, QtCore.SLOT("accept()"))

Третий аргумент - это объект со слотом, а четвертый - имя слота. Отправляющий и принимающий объекты могут быть разными.

...