我正在处理一个关于pyqtSignal在线程间传递的问题。
我遇到了以下错误:
在该命令中:
该程序基本上是使用PyQt Designer设计的MainWindow,并通过线程调用几个不同的函数。 我想在我的MainWindow代码中获取一些线程的完成信号(以显示结果等...)。以下是代码的一小部分,以解释其结构。
主代码:
AttributeError: 'PyQt5.QtCore.pyqtSignal' object has no attribute 'connect'
在该命令中:
CALCULS_AE.Uni_finished.connect(self.getFinishThread())
该程序基本上是使用PyQt Designer设计的MainWindow,并通过线程调用几个不同的函数。 我想在我的MainWindow代码中获取一些线程的完成信号(以显示结果等...)。以下是代码的一小部分,以解释其结构。
主代码:
class MainWindow(QMainWindow, Ui_MainWindow):
def __init__(self):
#Some code...
self.Button.clicked.connect(self.launch_Calculation_clicked)
def launch_Calculation(self):
AE_Uni_thread = threading.Thread(target = CALCULS_AE.Calcul_AE_Uni, args = (arg1, arg2, arg3, arg4)) # Calculs_AE is a class defined in another file
CALCULS_AE.Uni_finished.connect(self.getFinishThread()) # Another function doing some other stuff with the thread's results
AE_Uni_thread.start()
启动计算的CALCULS_AE类:
class CALCULS_AE(object):
#Signals
Uni_finished = QtCore.pyqtSignal()
Reb_finished = QtCore.pyqtSignal()
def __init__(self):
# Some Code
def Calculs_AE_Uni(self, arg1, arg2, arg3, arg4):
# Some Code launching the calculation
self.Uni_finished.emit()
PS:根据文档,pyqtSignals在类级别上定义。
谢谢!
CALCULS_AE
的实例。 - ekhumoro