У меня есть класс MainWindow, на котором работает приложение Gui, и я хочу, чтобы каждый раз, когда я нажимаю кнопку из своего приложения, сигнал излучается и захватывается другим потоком. Существует мой пример кода (извините за не размещение мой реальный код, но это реально большой сейчас):Как поймать сигнал из класса QMainWindow другим потоком на PySide?
from PySide.QtGui import *
from PySide.QtCore import *
import sys
import mainGui #Gui file
class MainWindow(QMainWindow, mainGui.Ui_MainWindow):
mySignal = Signal()
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
self.setupUi(self)
self.newThread = workThread()
self.newThread.start()
#myButton is part of Gui application
self.myButton.clicked.connect(self.myfunction)
def myfunction(self):
self.mySignal.emit()
(...) #Other functions and methods
class workThread(QThread):
def __init__(self, parent=None):
super(workThread, self).__init__(parent)
#The problem:
MainWindow.mySignal.connect(self.printMessage)
def run(self):
(...)
def printMessage(self):
print("Signal Recived")
(...)
def main():
app = QApplication(sys.argv)
form = MainWindow()
form.show()
app.exec_()
if __name__=="__main__":
main()
... и я получаю следующее сообщение об ошибке: MainWindow.mySignal.connect (self.printMessage) AttributeError: объект «PySide.QtCore.Signal» не имеет атрибута «connect»
Существует какая-то идеа, как я могу это решить? Спасибо заранее!