использовать сигналы и слоты между двумя отдельными классами [дубликаты]

Я хочу использовать сигналы и слоты между двумя отдельными классами (я использую pyqt5 и python3.7 в Windows 10)
Я делаю следующее, но получаю эту ошибку:

TypeError: up_img() takes exactly 2 positional arguments (1 given)  

Мой код

class A:
    mysignal = pyqtSignal(QtGui.QImage)
    ...
    def myft(self):
        ...
        qimage = QtGui.QImage(...).rgbSwapped()
        self.mysignal.connect(B.up_img)
        self.mysignal.emit(qimage)
class B:
    ...
    @pyqtSlot(QtGui.QImage)
    def up_img(self,op):
        self.myQLabel.setPixmap(QPixmap.fromImage(op))

Когда я делаю следующее, ошибки не возникает, но изображение не отображается в myQLabel:

...
cls_B = B()
self.mysignal.connect(cls_B.up_img)
self.mysignal.emit(qimage)

благодарю вас


person jozef    schedule 16.12.2018    source источник
comment
Связь между объектами, а не между классами, поэтому вы должны создать объект класса A и класса B и установить связь с этими объектами: self.b_obj=B() self.mysignal.connect(self.b_obj.up_img)   -  person eyllanesc    schedule 16.12.2018
comment
В программе, основанной на ООП, программа — это взаимодействие объектов, а не взаимодействие классов, классы — это абстракции, а объекты имеют жизненный цикл и являются фундаментальной частью программы.   -  person eyllanesc    schedule 16.12.2018
comment
моя проблема решена с помощью PyQt, показывающего видеопоток из opencv. спасибо, eyllanesc   -  person jozef    schedule 16.12.2018