解決PySide+Python子線程更新UI線程的問題
在我開發(fā)的系統(tǒng),需要子線程去運(yùn)行,然后把運(yùn)行的結(jié)果發(fā)給UI線程,讓UI線程知道運(yùn)行的進(jìn)度。
首先創(chuàng)建線程很簡(jiǎn)單
def newThread(self): d = Data() print '子線程的運(yùn)行' t1 = threading.Thread(target=newThread) t1.setDaemon(True) t1.start()
之后我發(fā)現(xiàn)用子線程去調(diào)用UI線程是行不通的,只能通過信號(hào)和槽來實(shí)現(xiàn),于是
首先,定義一個(gè)類,讓他實(shí)現(xiàn)PySide.QtCore.QObject類
class Data(PySide.QtCore.QObject): #定義信號(hào) mySignal = Signal() def __init__(self): #這句話很重要 super(Data, self).__init__() def run(self): mySignal.emit()
然后再把主線程的方法綁定到該槽上去
QtCore.QObject.connect(Data的實(shí)例,QtCore.SIGNAL('mySignal()'),'主線程的方法')
最后,就可以在子線程執(zhí)行run方法的時(shí)候,就會(huì)調(diào)用UI線程的方法
以上這篇解決PySide+Python子線程更新UI線程的問題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Python爬蟲之Spider類用法簡(jiǎn)單介紹
- Python3爬蟲中pyspider的安裝步驟
- Python自帶的IDE在哪里
- Python Scrapy框架:通用爬蟲之CrawlSpider用法簡(jiǎn)單示例
- python GUI庫(kù)圖形界面開發(fā)之PyQt5滑塊條控件QSlider詳細(xì)使用方法與實(shí)例
- python PyQt5/Pyside2 按鈕右擊菜單實(shí)例代碼
- Python中PyQt5/PySide2的按鈕控件使用實(shí)例
- Gauss-Seidel迭代算法的Python實(shí)現(xiàn)詳解
- Python開發(fā)最牛逼的IDE——pycharm
- python安裝以及IDE的配置教程
- PyCharm vs VSCode,作為python開發(fā)者,你更傾向哪種IDE呢?
相關(guān)文章
python pygame模塊編寫飛機(jī)大戰(zhàn)
這篇文章主要為大家詳細(xì)介紹了python pygame模塊編寫飛機(jī)大戰(zhàn),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2018-11-11Python UnboundLocalError和NameError錯(cuò)誤根源案例解析
這篇文章主要介紹了Python UnboundLocalError和NameError錯(cuò)誤根源解析,本文通過案例分析實(shí)例代碼相結(jié)合的形式給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-10-10Python實(shí)現(xiàn)拼音轉(zhuǎn)換
拼音轉(zhuǎn)換指的是將漢字轉(zhuǎn)為拼音的過程。本文介紹了Python實(shí)現(xiàn)拼音轉(zhuǎn)換,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-06-06python解析中國(guó)天氣網(wǎng)的天氣數(shù)據(jù)
最近學(xué)習(xí)python 感覺這門腳本語言十分靈活 而且功能十分強(qiáng)大 尤其是他re庫(kù)用于正則匹配十分強(qiáng)大,寫了個(gè)例子解析中國(guó)天氣網(wǎng)2014-03-03Python 數(shù)據(jù)結(jié)構(gòu)之樹的概念詳解
這篇文章主要介紹了數(shù)據(jù)結(jié)構(gòu)之樹的概念詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下2021-09-09Python中的Pandas?時(shí)間函數(shù)?time?、datetime?模塊和時(shí)間處理基礎(chǔ)講解
Python?中提供了對(duì)時(shí)間日期的多種多樣的處理方式,主要是在?time?和?datetime?這兩個(gè)模塊里,這篇文章主要介紹了Python中的Pandas?時(shí)間函數(shù)?time?、datetime?模塊和時(shí)間處理基礎(chǔ),需要的朋友可以參考下2023-03-03