欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

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

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

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

from PyQt5.QtCore import QThread

class SubThread(QThread):

2,重寫__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):  
  # 以下加入子線程執(zhí)行的代碼

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

【重點(diǎn)說明】

QThread的子類的實(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類實(shí)現(xiàn)信息觸發(fā)和捕獲的方法

1,在類內(nèi)頭部定義pyqtSignal屬性,記住,是類級(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):  
  # 以下加入子線程執(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('子線程開始')  
  time.sleep(2)  
  self.messagetrigger.emit('子線程結(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('子線程開始')  
  time.sleep(2)  
  self.messagetrigger.emit('子線程結(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中構(gòu)建終端應(yīng)用界面利器Blessed模塊的使用

    Python中構(gòu)建終端應(yīng)用界面利器Blessed模塊的使用

    Blessed?庫(kù)作為一個(gè)輕量級(jí)且功能強(qiáng)大的解決方案,開始在開發(fā)者中贏得口碑,今天,我們就一起來探索一下它是如何讓終端UI開發(fā)變得輕松而高效的吧
    2025-01-01
  • Pandas?多進(jìn)程處理數(shù)據(jù)提高速度

    Pandas?多進(jìn)程處理數(shù)據(jù)提高速度

    這篇文章主要介紹了Pandas?多進(jìn)程處理數(shù)據(jù)提高速度,Pandas多進(jìn)程的方法,pandarallel?庫(kù),下面具體的測(cè)試方法,需要的朋友可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助
    2022-04-04
  • Python3基本輸入與輸出操作實(shí)例分析

    Python3基本輸入與輸出操作實(shí)例分析

    這篇文章主要介紹了Python3基本輸入與輸出操作,結(jié)合實(shí)例形式分析了Python3輸入輸出基本語(yǔ)法、編碼轉(zhuǎn)換、注釋及中文編碼相關(guān)使用技巧,需要的朋友可以參考下
    2020-02-02
  • Python基于tkinter canvas實(shí)現(xiàn)圖片裁剪功能

    Python基于tkinter canvas實(shí)現(xiàn)圖片裁剪功能

    這篇文章主要介紹了Python基于tkinter canvas實(shí)現(xiàn)圖片裁剪功能,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Python序列之list和tuple常用方法以及注意事項(xiàng)

    Python序列之list和tuple常用方法以及注意事項(xiàng)

    這篇文章主要介紹了Python序列之list和tuple常用方法以及注意事項(xiàng),sequence(序列)是一組有順序的對(duì)象的集合,序列可以包含一個(gè)或多個(gè)元素,也可以沒有任何元素,序列有兩種:list (表) 和 tuple(元組),需要的朋友可以參考下
    2015-01-01
  • 詳解Python中數(shù)據(jù)類型的轉(zhuǎn)換

    詳解Python中數(shù)據(jù)類型的轉(zhuǎn)換

    這篇文章主要為大家詳細(xì)介紹了Python中數(shù)據(jù)類型轉(zhuǎn)換的相關(guān)資料,文中的示例代碼講解詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴可以了解一下
    2023-03-03
  • Python sys.path詳細(xì)介紹

    Python sys.path詳細(xì)介紹

    這篇文章詳細(xì)介紹了Python sys.path,有需要的朋友可以參考一下
    2013-10-10
  • 在Python中使用mechanize模塊模擬瀏覽器功能

    在Python中使用mechanize模塊模擬瀏覽器功能

    這篇文章主要介紹了在Python中使用mechanize模塊模擬瀏覽器功能,包括使用cookie和設(shè)置代理等功能的實(shí)現(xiàn),需要的朋友可以參考下
    2015-05-05
  • Python基于Tkinter開發(fā)一個(gè)爬取B站直播彈幕的工具

    Python基于Tkinter開發(fā)一個(gè)爬取B站直播彈幕的工具

    這篇文章主要介紹了Python Tkinter如何開發(fā)一個(gè)爬取B站直播彈幕的工具,幫助大家更好的利用python進(jìn)行圖形界面的開發(fā)學(xué)習(xí),感興趣的朋友可以了解下
    2021-05-05
  • Python和Bash結(jié)合在一起的方法

    Python和Bash結(jié)合在一起的方法

    這篇文章主要介紹了Python和Bash結(jié)合在一起的方法,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-11-11

最新評(píng)論