[英]PyQt5 Qthread attribut error, calling self.somelist
我有几个线程。 和很长的主脚本。
我尝试了其他人的几种解决方案,但没有结果。
我明白归因错误是非常基本的事情
在我的主要
@pyqtSlot()
def save_usermade(self):
user_id = self.lineEdit_4.text().strip()
input5 = [user_id, and some more strings...]
self.WorkerD_1 = Worker4_1()
self.sig_1.connect(self.WorkerD_1.save_ad)
self.WorkerD_1.start()
self.sig_1.emit(input5)
self.WorkerD_1.sig4_1_1.connect(self.append_table)
在我的线程中
class Worker4_1(QThread):
sig4_1_1 = pyqtSignal(str)
def __init__(self, parent=None):
QtCore.QThread.__init__(self, parent)
def save_ad(self, listD_1):
self.adlist = listD_1
def run(self):
print(self.adlit)
userID = self.adlist[0]
and some works to do...
我有这样的错误
Traceback (most recent call last):
File "C:\codes\MYPROJECT\Basic\Thread_w4_1.py", line 34, in run
print(self.adlist)
AttributeError: 'Worker4_1' object has no attribute 'adlist'
有谁知道为什么?
会不会是因为我在self.sig_1.emit(input5)
之后做了self.sig_1.emit(input5)
self.Worferd_1.start()
?
我首先更改了self.sig_1.emit(input5)
不是self.Worferd_1.start()
之后。 它似乎工作正常。 有谁知道为什么?
class Worker4_1(QThread):
sig4_1_1 = pyqtSignal(str)
def __init__(self,adList, parent=None):#edited here
QtCore.QThread.__init__(self, parent=parent)
self.adList = adList
def run(self):
print(self.adlit)
userID = self.adlist[0]
and some works to do...
和主要:
@pyqtSlot()
def save_usermade(self):
user_id = self.lineEdit_4.text().strip()
input5 = [user_id, and some more strings...]
self.WorkerD_1 = Worker4_1(adList = input5)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.