最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

利用PyQt中的QThread類(lèi)實(shí)現(xiàn)多線(xiàn)程

 更新時(shí)間:2020年02月18日 10:05:18   作者:大眼睛編程  
本文主要給大家分享的是python實(shí)現(xiàn)多線(xiàn)程及線(xiàn)程間通信的簡(jiǎn)單方法,非常的實(shí)用,有需要的小伙伴可以參考下
  • 用PyQt中的QThread類(lèi)實(shí)現(xiàn)多線(xiàn)程
  • 利用PyQt中的pyqtSignal類(lèi)實(shí)現(xiàn)信息的觸發(fā)和捕獲,即定義事件和訂閱事件

利用QThread類(lèi)實(shí)現(xiàn)多線(xiàn)程的方法

1,新建一個(gè)python類(lèi),繼承自QThread

from PyQt5.QtCore import QThread

class SubThread(QThread):

2,重寫(xiě)__init__(),__del__()和run()函數(shù)

from PyQt5.QtCore import QThread

class SubThread(QThread): 
 def __init__(self):  
  super().__init__()  
  # 以下加入需要的代碼 
  
 def __del__(self):  
  self.wait() 
  
 def run(self):  
  # 以下加入子線(xiàn)程執(zhí)行的代碼

3,將繼承自QThread類(lèi)實(shí)例化,然后調(diào)用實(shí)例對(duì)象的start()函數(shù),即可開(kāi)啟新線(xiàn)程

【重點(diǎn)說(shuō)明】

QThread的子類(lèi)的實(shí)例,必須放在app = QtWidgets.QApplication(sys.argv)和sys.exit(app.exec_())代碼之間。

if __name__ == '__main__': 
 app = QtWidgets.QApplication(sys.argv) 
 subthread = SubThread() 
 subthread.start() 
 sys.exit(app.exec_())

利用pyqtSignal類(lèi)實(shí)現(xiàn)信息觸發(fā)和捕獲的方法

1,在類(lèi)內(nèi)頭部定義pyqtSignal屬性,記住,是類(lèi)級(jí)別屬性

from PyQt5.QtCore import QThread, pyqtSignal

class SubThread(QThread): 
 messagetrigger = pyqtSignal(str) 
 
 def __init__(self):  
  super().__init__()  
  # 以下加入需要的代碼 
  
 def __del__(self):  
  self.wait() 

 def run(self):  
  # 以下加入子線(xiàn)程執(zhí)行的代碼

2,在需要觸發(fā)信息的地方使用,調(diào)用pyqtSignal的emit()函數(shù)觸發(fā)消息

import timefrom PyQt5.QtCore 
import QThread, pyqtSignal, QObject

class SubThread(QThread): 
 messagetrigger = pyqtSignal(str) 

 def __init__(self):  
  super().__init__() 

 def __del__(self):  
  self.wait() 

 def run(self):  
  self.messagetrigger.emit('子線(xiàn)程開(kāi)始')  
  time.sleep(2)  
  self.messagetrigger.emit('子線(xiàn)程結(jié)束')

3,捕獲消息,使用pyqtSignal的connect()連接回調(diào)函數(shù),在回調(diào)函數(shù)內(nèi)處理捕獲到的信息,完整代碼如下:

import sysimport timefrom PyQt5.QtCore 
import QThread, pyqtSignal, QObject
from PyQt5 import QtWidgets

class SubThread(QThread): 
 messagetrigger = pyqtSignal(str) 

 def __init__(self):  
  super().__init__() 

 def __del__(self):  
  self.wait() 

 def run(self):  
  self.messagetrigger.emit('子線(xiàn)程開(kāi)始')  
  time.sleep(2)  
  self.messagetrigger.emit('子線(xiàn)程結(jié)束')
  
def callback(msg): 
 print(msg)
 
if __name__ == '__main__': 
 app = QtWidgets.QApplication(sys.argv) 
 subthread = SubThread() 
 subthread.messagetrigger.connect(callback) 
 subthread.start() 
 sys.exit(app.exec_())

以上就是本文的全部?jī)?nèi)容了,希望對(duì)大家學(xué)習(xí)python能夠有所幫助

相關(guān)文章

  • 詳解Python如何利用petl做數(shù)據(jù)遷移

    詳解Python如何利用petl做數(shù)據(jù)遷移

    隨著數(shù)據(jù)量的不斷增長(zhǎng),數(shù)據(jù)遷移成為了一項(xiàng)必不可少的任務(wù),本文就來(lái)為大家詳細(xì)介紹一下如何使用PETL進(jìn)行數(shù)據(jù)遷移,并給出一些實(shí)踐案例,需要的可以參考下
    2024-01-01
  • python 實(shí)現(xiàn)對(duì)數(shù)據(jù)集的歸一化的方法(0-1之間)

    python 實(shí)現(xiàn)對(duì)數(shù)據(jù)集的歸一化的方法(0-1之間)

    今天小編就為大家分享一篇python 實(shí)現(xiàn)對(duì)數(shù)據(jù)集的歸一化的方法(0-1之間),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • OpenCV-Python實(shí)現(xiàn)輪廓檢測(cè)實(shí)例分析

    OpenCV-Python實(shí)現(xiàn)輪廓檢測(cè)實(shí)例分析

    這篇文章主要介紹了OpenCV-Python實(shí)現(xiàn)輪廓檢測(cè)實(shí)例分析,具有一定借鑒價(jià)值,需要的朋友可以參考下
    2018-01-01
  • Jmeter并發(fā)執(zhí)行Python 腳本的完整流程

    Jmeter并發(fā)執(zhí)行Python 腳本的完整流程

    這篇文章主要介紹了Jmeter并發(fā)執(zhí)行 Python 腳本的問(wèn)題詳解,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-09-09
  • Python socket模塊ftp傳輸文件過(guò)程解析

    Python socket模塊ftp傳輸文件過(guò)程解析

    這篇文章主要介紹了Python socket模塊ftp傳輸文件過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • Django 日志配置按日期滾動(dòng)的方法

    Django 日志配置按日期滾動(dòng)的方法

    今天小編就為大家分享一篇Django 日志配置按日期滾動(dòng)的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01
  • 執(zhí)行python腳本并傳入json數(shù)據(jù)格式參數(shù)方式

    執(zhí)行python腳本并傳入json數(shù)據(jù)格式參數(shù)方式

    這篇文章主要介紹了執(zhí)行python腳本并傳入json數(shù)據(jù)格式參數(shù)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-09-09
  • python3 判斷列表是一個(gè)空列表的方法

    python3 判斷列表是一個(gè)空列表的方法

    今天小編就為大家分享一篇python3 判斷列表是一個(gè)空列表的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-05-05
  • 解決Django migrate不能發(fā)現(xiàn)app.models的表問(wèn)題

    解決Django migrate不能發(fā)現(xiàn)app.models的表問(wèn)題

    今天小編就為大家分享一篇解決Django migrate不能發(fā)現(xiàn)app.models的表問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • python3編碼問(wèn)題匯總

    python3編碼問(wèn)題匯總

    本文給通過(guò)一個(gè)具體的編碼問(wèn)題的解決辦法,給大家詳細(xì)分享了python中的編碼問(wèn)題的來(lái)龍去脈,非常的細(xì)致全面,有需要的小伙伴可以參考下
    2016-09-09

最新評(píng)論

天长市| 靖江市| 榆树市| 泸定县| 炉霍县| 柳江县| 都昌县| 香港 | 林州市| 新和县| 丘北县| 林周县| 文山县| 九台市| 通河县| 长乐市| 福建省| 太仓市| 遵化市| 吴忠市| 乐山市| 监利县| 乐平市| 恭城| 松原市| 八宿县| 瑞金市| 阜新市| 河池市| 教育| 镇江市| 苗栗市| 静宁县| 奉化市| 北碚区| 南安市| 眉山市| 革吉县| 黄浦区| 克东县| 古交市|