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

PyQt5多線程刷新界面防假死示例

 更新時間:2019年12月13日 09:29:25   作者:Reacubeth  
今天小編就為大家分享一篇PyQt5多線程刷新界面防假死示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

在做GUI界面時我們希望后臺任務(wù)能夠與UI分開,在PyQt中,主線程用來重繪界面。而子線程里邊的實時處理結(jié)果需要反饋到界面,子線程里邊不能執(zhí)行界面更新操作。

wxpython多線程刷新界面轉(zhuǎn)到

http://www.dbjr.com.cn/article/176308.htm

下面給出類Python3+PyQt5多線程防假死動態(tài)刷新界面的模板

from PyQt5 import QtWidgets, QtCore
import sys
from PyQt5.QtCore import *
import time
 
 
# 繼承QThread
class Runthread(QtCore.QThread):
  # 通過類成員對象定義信號對象
  _signal = pyqtSignal(str)
 
  def __init__(self):
    super(Runthread, self).__init__()
 
  def __del__(self):
    self.wait()
 
  def run(self):
    for i in range(100):
      time.sleep(0.2)
      self._signal.emit(str(i)) # 注意這里與_signal = pyqtSignal(str)中的類型相同
 
 
class Example(QtWidgets.QWidget):
 
  def __init__(self):
    super().__init__()
    # 按鈕初始化
    self.button = QtWidgets.QPushButton('開始', self)
    self.button.setToolTip('這是一個 <b>QPushButton</b> widget')
    self.button.resize(self.button.sizeHint())
    self.button.move(120, 80)
    self.button.clicked.connect(self.start_login) # 綁定多線程觸發(fā)事件
 
    # 進度條設(shè)置
    self.pbar = QtWidgets.QProgressBar(self)
    self.pbar.setGeometry(50, 50, 210, 25)
    self.pbar.setValue(0)
 
    # 窗口初始化
    self.setGeometry(300, 300, 300, 200)
    self.setWindowTitle('OmegaXYZ.com')
    self.show()
 
    self.thread = None # 初始化線程
 
  def start_login(self):
    # 創(chuàng)建線程
    self.thread = Runthread()
    # 連接信號
    self.thread._signal.connect(self.call_backlog) # 進程連接回傳到GUI的事件
    # 開始線程
    self.thread.start()
 
  def call_backlog(self, msg):
    self.pbar.setValue(int(msg)) # 將線程的參數(shù)傳入進度條
 
 
if __name__ == "__main__":
  app = QtWidgets.QApplication(sys.argv)
  myshow = Example()
  myshow.show()
  sys.exit(app.exec_())

效果:

以上這篇PyQt5多線程刷新界面防假死示例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python用來做Web開發(fā)的優(yōu)勢有哪些

    Python用來做Web開發(fā)的優(yōu)勢有哪些

    這篇文章主要介紹了Python用來做Web開發(fā)的優(yōu)勢有哪些,文中講解非常細致,幫助大家更好的理解和學(xué)習(xí)Python,感興趣的朋友可以了解下
    2020-08-08
  • Python concurrent.futures模塊使用實例

    Python concurrent.futures模塊使用實例

    這篇文章主要介紹了Python concurrent.futures模塊使用實例,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-12-12
  • Python判斷Nan值的五種方式小結(jié)

    Python判斷Nan值的五種方式小結(jié)

    這篇文章主要介紹了Python判斷Nan值的五種方式小結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-05-05
  • PyMongo安裝使用筆記

    PyMongo安裝使用筆記

    這篇文章主要介紹了PyMongo安裝使用筆記,本文講解使用pip方式安裝PyMongo,并給出一個pymongo的簡單使用代碼實例,需要的朋友可以參考下
    2015-04-04
  • Python OpenCV中的resize()函數(shù)的使用

    Python OpenCV中的resize()函數(shù)的使用

    這篇文章主要介紹了Python OpenCV中的resize()函數(shù)的使用,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-06-06
  • Python導(dǎo)入父文件夾中模塊并讀取當(dāng)前文件夾內(nèi)的資源

    Python導(dǎo)入父文件夾中模塊并讀取當(dāng)前文件夾內(nèi)的資源

    這篇文章主要給大家介紹了關(guān)于Python導(dǎo)入父文件夾中模塊并讀取當(dāng)前文件夾內(nèi)資源的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • Python根據(jù)指定文件生成XML的方法

    Python根據(jù)指定文件生成XML的方法

    這篇文章主要介紹了Python根據(jù)指定文件生成XML的方法,文中代碼非常詳細,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-06-06
  • python使用pipeline批量讀寫redis的方法

    python使用pipeline批量讀寫redis的方法

    今天小編就為大家分享一篇python使用pipeline批量讀寫redis的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-02-02
  • Python基礎(chǔ)教程之異常詳解

    Python基礎(chǔ)教程之異常詳解

    調(diào)試Python程序時,經(jīng)常會報出一些異常,下面這篇文章就來給大家介紹了關(guān)于Python基礎(chǔ)教程之異常的相關(guān)資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2019-01-01
  • Python中流程控制的高級用法盤點

    Python中流程控制的高級用法盤點

    在這篇文章中我們將全面深入地介紹?Python?的控制流程,包括條件語句、循環(huán)結(jié)構(gòu)和異常處理等關(guān)鍵部分,尤其會將列表解析、生成器、裝飾器等高級用法一網(wǎng)打盡,快跟隨小編學(xué)起來吧
    2023-05-05

最新評論