中文字幕日韩精品一区二区免费_精品一区二区三区国产精品无卡在_国精品无码专区一区二区三区_国产αv三级中文在线

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

定義了work類:

在啟東等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都做網(wǎng)站、成都網(wǎng)站建設(shè) 網(wǎng)站設(shè)計制作按需搭建網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),高端網(wǎng)站設(shè)計,網(wǎng)絡(luò)營銷推廣,外貿(mào)網(wǎng)站制作,啟東網(wǎng)站建設(shè)費(fèi)用合理。
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)

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

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

當(dāng)前標(biāo)題:PyQt5movetothread進(jìn)程啟動失效解決辦法-創(chuàng)新互聯(lián)
轉(zhuǎn)載來源:http://www.rwnh.cn/article22/jdijc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供商城網(wǎng)站網(wǎng)頁設(shè)計公司、外貿(mào)網(wǎng)站建設(shè)、營銷型網(wǎng)站建設(shè)、軟件開發(fā)網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化
大渡口区| 乐昌市| 安国市| 沂南县| 兰溪市| 江源县| 万荣县| 教育| 安远县| 巴马| 大竹县| 高邑县| 齐齐哈尔市| 北票市| 治县。| 东乡族自治县| 永平县| 耿马| 宜兰县| 丰顺县| 屯留县| 寿光市| 平定县| 巴青县| 临澧县| 嘉善县| 葫芦岛市| 安新县| 和田县| 德令哈市| 类乌齐县| 新巴尔虎左旗| 呼伦贝尔市| 秦皇岛市| 金秀| 揭西县| 沙湾县| 大同县| 绥芬河市| 铜川市| 平谷区|