真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

PyQt5movetothread進程啟動失效解決辦法-創(chuàng)新互聯(lián)

定義了work類:

在啟東等地區(qū),都構建了全面的區(qū)域性戰(zhàn)略布局,加強發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站建設 網(wǎng)站設計制作按需搭建網(wǎng)站,公司網(wǎng)站建設,企業(yè)網(wǎng)站建設,高端網(wǎng)站設計,網(wǎng)絡營銷推廣,外貿(mào)網(wǎng)站制作,啟東網(wǎng)站建設費用合理。
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('正在讀取目錄數(shù)據(jù)')
elif self.url is not None:
if self.type == 'second':
data = self.scy.getChildPage(self.url)
self.addSignal.emit('正在讀取次級目錄數(shù)據(jù)')
elif self.type == 'three':
data = self.scy.getMagzineList(self.url)
self.addSignal.emit('正在讀取文章目錄數(shù)據(jù)')
else:
self.addSignal.emit('傳入數(shù)據(jù)不正確,請修改后重試')
return
for item in data:
self.addSignal.emit('正在在顯示目錄插入數(shù)據(jù)')
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)

但是在點擊按鈕之后,沒有反應,后經(jīng)過debug,發(fā)現(xiàn)能運行到線程中,但是該運行線程的run函數(shù)的時候就沒動靜了。
我懷疑是在按鈕函數(shù)運行完后將線程變量被銷毀了?后經(jīng)過實驗,添加下面兩行代碼即可正常運行,即將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)

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。


分享標題:PyQt5movetothread進程啟動失效解決辦法-創(chuàng)新互聯(lián)
文章路徑:http://weahome.cn/article/jdijc.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部