亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python+PyQT5的子線程更新UI界面的實例

 更新時間:2019年06月14日 20:48:51   作者:五千年前的后羿  
今天小編就為大家分享一篇Python+PyQT5的子線程更新UI界面的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

子線程里是不能更新UI界面的,在移動端方面。Android的UI訪問是沒有加鎖的,多個線程可以同時訪問更新操作同一個UI控件。也就是說訪問UI的時候,android系統(tǒng)當中的控件都不是線程安全的,這將導致在多線程模式下,當多個線程共同訪問更新操作同一個UI控件時容易發(fā)生不可控的錯誤。所以Android中規(guī)定只能在UI線程中訪問UI,相當于從另一個角度給Android的UI訪問加上鎖,一個偽鎖。

在PyQT5中使用QThread

from PyQt5.QtWidgets import QMainWindow, QPushButton, QApplication
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
import time
 
#繼承QThread
 
class Mythread(QThread):
  # 定義信號,定義參數(shù)為str類型
  breakSignal = pyqtSignal(int)
 
  def __init__(self, parent=None):
    super().__init__(parent)
    # 下面的初始化方法都可以,有的python版本不支持
    # super(Mythread, self).__init__()
 
  def run(self):
      #要定義的行為,比如開始一個活動什么的
 
      for i in(1,1000):
 
        print(i)
        self.breakSignal.emit(i)
      
 
 
if __name__ == '__main__':
  app = QApplication([])
  dlg = QDialog()
  dlg.resize(400, 300)
  dlg.setWindowTitle("自定義按鈕測試")
  dlgLayout = QVBoxLayout()
  dlgLayout.setContentsMargins(40, 40, 40, 40)
  btn = QPushButton('測試按鈕')
  dlgLayout.addWidget(btn)
  dlgLayout.addStretch(40)
  dlg.setLayout(dlgLayout)
  dlg.show()
 
 
  def chuli(a):
    # dlg.setWindowTitle(s)
    btn.setText(str(a))
 
  # 創(chuàng)建線程
  thread = Mythread()
  # # 注冊信號處理函數(shù)
  thread.breakSignal.connect(chuli)
  # # 啟動線程
  thread.start()
  dlg.exec_()
  app.exit()

在python中刷新UI可以類似,采用消息傳遞的機制。

可以在子線程中修改主線程的變量,主線程讀取變量并繪制的方式。

以上這篇Python+PyQT5的子線程更新UI界面的實例就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • python中使用mysql數(shù)據(jù)庫詳細介紹

    python中使用mysql數(shù)據(jù)庫詳細介紹

    這篇文章主要介紹了python中使用mysql數(shù)據(jù)庫詳細介紹,本文起講解了安裝mysql、安裝MySQL-python、mysql 的基本操作、python 操作mysql數(shù)據(jù)庫基礎等內容,需要的朋友可以參考下
    2015-03-03
  • 詳解python運行三種方式

    詳解python運行三種方式

    這篇文章主要介紹了python運行三種方式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-05-05
  • Python讀寫文件模式和文件對象方法實例詳解

    Python讀寫文件模式和文件對象方法實例詳解

    這篇文章主要介紹了Python讀寫文件模式和文件對象方法,結合實例形式詳細分析了Python文件操作常用技巧與相關注意事項,需要的朋友可以參考下
    2019-09-09
  • Python爬取京東的商品分類與鏈接

    Python爬取京東的商品分類與鏈接

    這篇文章主要介紹利用python爬取京東商品分類以及對應的連接,這個功能不是很復雜,沒有爬取里面的隱藏的東西。算是給新手一個示例教程吧,有需要的可以參考借鑒。
    2016-08-08
  • python監(jiān)控進程狀態(tài),記錄重啟時間及進程號的實例

    python監(jiān)控進程狀態(tài),記錄重啟時間及進程號的實例

    今天小編就為大家分享一篇python監(jiān)控進程狀態(tài),記錄重啟時間及進程號的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-07-07
  • 基于循環(huán)神經(jīng)網(wǎng)絡(RNN)的古詩生成器

    基于循環(huán)神經(jīng)網(wǎng)絡(RNN)的古詩生成器

    這篇文章主要為大家詳細介紹了基于循環(huán)神經(jīng)網(wǎng)絡(RNN)的古詩生成器,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • python中Switch/Case實現(xiàn)的示例代碼

    python中Switch/Case實現(xiàn)的示例代碼

    本篇文章主要介紹了python中Switch/Case實現(xiàn)的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-11-11
  • 使用python如何對圖片進行壓縮

    使用python如何對圖片進行壓縮

    這篇文章主要介紹了使用python如何對圖片進行壓縮,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • Python 爬蟲批量爬取網(wǎng)頁圖片保存到本地的實現(xiàn)代碼

    Python 爬蟲批量爬取網(wǎng)頁圖片保存到本地的實現(xiàn)代碼

    這篇文章主要介紹了Python 爬蟲批量爬取網(wǎng)頁圖片保存到本地,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-12-12
  • Python 微信公眾號文章爬取的示例代碼

    Python 微信公眾號文章爬取的示例代碼

    這篇文章主要介紹了Python 微信公眾號文章爬取的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11

最新評論