91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PyQt5 movetothread進程啟動失效解決辦法

發布時間:2020-05-26 14:59:00 來源:億速云 閱讀:631 作者:鴿子 欄目:編程語言

定義了work類:

class AddWork(QObject):
addSignal = pyqtSignal(str)

def __init__(self, parentItem, type, url=None):
super(AddWork, self).__init__()
# super().__init__()
self.type = type
self.parentItem = parentItem
self.scy = scrpy()
self.url = url

def work(self):
print('1')
if self.type == 'top':
data = self.scy.getIndex()
self.addSignal.emit('正在讀取目錄數據')
elif self.url is not None:
if self.type == 'second':
data = self.scy.getChildPage(self.url)
self.addSignal.emit('正在讀取次級目錄數據')
elif self.type == 'three':
data = self.scy.getMagzineList(self.url)
self.addSignal.emit('正在讀取文章目錄數據')
else:
self.addSignal.emit('傳入數據不正確,請修改后重試')
return
for item in data:
self.addSignal.emit('正在在顯示目錄插入數據')
node = QTreeWidgetItem(self.parentItem)
node.setText(0, item[0])
node.setText(1, item[1])
self.addSignal.emit('顯示完成')

在主程序中使用:
def ButtonReadData(self):
if self.rootNode.childCount() != 0:
return
worker = AddWork(self.rootNode, 'top')
worker.addSignal.connect(self.ShowLog)

thread = QThread()
print('ready start button thread')
thread.start()
print('end start button thread')
worker.moveToThread(thread)
thread.started.connect(worker.work)

但是在點擊按鈕之后,沒有反應,后經過debug,發現能運行到線程中,但是該運行線程的run函數的時候就沒動靜了。
我懷疑是在按鈕函數運行完后將線程變量被銷毀了?后經過實驗,添加下面兩行代碼即可正常運行,即將work和線程添加到一個全局的列表中保存:

self.threadList.append(thread)
   self.workers.append(worker)

總的按鈕事件代碼為:

def ButtonReadData(self):
   if self.rootNode.childCount() != 0:
       return
   worker = AddWork(self.rootNode, 'top')
   worker.addSignal.connect(self.ShowLog)

   thread = QThread()
   print('ready start button thread')
   thread.start()
   print('end start button thread')
   worker.moveToThread(thread)
   thread.started.connect(worker.work)

self.threadList.append(thread)
self.workers.append(worker)

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

寿阳县| 长白| 福贡县| 湾仔区| 桃江县| 莆田市| 洛川县| 襄汾县| 乐昌市| 湟源县| 河东区| 恩平市| 开阳县| 陆川县| 瓮安县| 石渠县| 溆浦县| 许昌市| 赣州市| 卢湾区| 房产| 拉孜县| 冕宁县| 黄石市| 醴陵市| 仙游县| 乐东| 西平县| 关岭| 孟津县| 达日县| 内黄县| 张掖市| 新郑市| 宜州市| 屏东市| 武宁县| 辰溪县| 绵阳市| 孝义市| 长子县|