亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發布時間:2020-10-19 13:23:24 來源:腳本之家 閱讀:275 作者:Reacubeth 欄目:開發技術

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

wxpython多線程刷新界面轉到

https://www.jb51.net/article/176308.htm

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

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) # 綁定多線程觸發事件
 
    # 進度條設置
    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):
    # 創建線程
    self.thread = Runthread()
    # 連接信號
    self.thread._signal.connect(self.call_backlog) # 進程連接回傳到GUI的事件
    # 開始線程
    self.thread.start()
 
  def call_backlog(self, msg):
    self.pbar.setValue(int(msg)) # 將線程的參數傳入進度條
 
 
if __name__ == "__main__":
  app = QtWidgets.QApplication(sys.argv)
  myshow = Example()
  myshow.show()
  sys.exit(app.exec_())

效果:

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

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

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

浮梁县| 峨眉山市| 昌吉市| 定结县| 江津市| 林州市| 铁岭市| 垫江县| 扎兰屯市| 江北区| 紫阳县| 龙游县| 武宣县| 昂仁县| 苍溪县| 江孜县| 隆子县| 武功县| 普格县| 广水市| 叙永县| 文登市| 营口市| 交口县| 东港市| 工布江达县| 池州市| 阿拉善左旗| 广灵县| 临武县| 河西区| 井研县| 车险| 曲阜市| 滕州市| 玉门市| 天台县| 隆尧县| 华安县| 桑植县| 青神县|