PyQt5 Qthread attribute错误,调用self.somelist

2024-06-01 03:34:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我有几根线。还有很长的主脚本

我尝试了其他人的几种解决方案,但没有结果

我知道磨损错误是非常基本的事情

主要是

@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.Worferd_1.start()之后做了self.sig_1.emit(input5)


我先更改顺序{},后更改顺序{}。 它似乎工作得很好。有人知道为什么吗


Tags: andselfidsavedefconnect错误some
1条回答
网友
1楼 · 发布于 2024-06-01 03:34:33
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)

相关问题 更多 >