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

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

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

子線程里是不能更新UI界面的,在移動端方面。Android的UI訪問是沒有加鎖的,多個線程可以同時訪問更新操作同一個UI控件。也就是說訪問UI的時候,android系統(tǒng)當(dāng)中的控件都不是線程安全的,這將導(dǎo)致在多線程模式下,當(dāng)多個線程共同訪問更新操作同一個UI控件時容易發(fā)生不可控的錯誤。所以Android中規(guī)定只能在UI線程中訪問UI,相當(dāng)于從另一個角度給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可以類似,采用消息傳遞的機(jī)制。

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

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

相關(guān)文章

  • python3代碼輸出嵌套式對象實例詳解

    python3代碼輸出嵌套式對象實例詳解

    在本篇文章里小編給大家整理了關(guān)于python3代碼輸出嵌套式對象實例詳解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-12-12
  • python實現(xiàn)錄音小程序

    python實現(xiàn)錄音小程序

    這篇文章主要為大家詳細(xì)介紹了python實現(xiàn)錄音小程序,實現(xiàn)錄音播放功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • python計算圓周率pi的方法

    python計算圓周率pi的方法

    這篇文章主要介紹了python計算圓周率pi的方法,涉及Python針對數(shù)學(xué)運算的相關(guān)技巧,需要的朋友可以參考下
    2015-07-07
  • 十個驚艷的Pythonic單行代碼

    十個驚艷的Pythonic單行代碼

    自從用?Python?編寫第一行代碼以來,我就被它的簡單性、出色的可讀性和流行的單行代碼所吸引。在本文中,將為大家介紹和解釋其中的一些單行代碼,希望對大家有所幫助
    2022-12-12
  • python 實現(xiàn)語音聊天機(jī)器人的示例代碼

    python 實現(xiàn)語音聊天機(jī)器人的示例代碼

    這篇文章主要介紹了python 實現(xiàn)語音聊天機(jī)器人的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-12-12
  • Python中用Spark模塊的使用教程

    Python中用Spark模塊的使用教程

    這篇文章主要介紹了Python中用Spark模塊的使用教程,來自IBM官方技術(shù)文檔,需要的朋友可以參考下
    2015-04-04
  • Python?pandas中read_csv參數(shù)示例詳解

    Python?pandas中read_csv參數(shù)示例詳解

    使用pandas做數(shù)據(jù)處理的第一步就是讀取數(shù)據(jù),數(shù)據(jù)源可以來自于各種地方,csv文件便是其中之一,下面這篇文章主要給大家介紹了關(guān)于Python?pandas中read_csv參數(shù)詳解的相關(guān)資料,需要的朋友可以參考下
    2023-01-01
  • django框架單表操作之增刪改實例分析

    django框架單表操作之增刪改實例分析

    這篇文章主要介紹了django框架單表操作之增刪改,結(jié)合實例形式分析了Django框架前臺數(shù)據(jù)操作提交與后臺處理相關(guān)實現(xiàn)技巧,需要的朋友可以參考下
    2019-12-12
  • python高級之元類的用法總結(jié)

    python高級之元類的用法總結(jié)

    元類是Python中最高級別的編程概念之一,用于創(chuàng)建類的類,雖然元類在日常Python編程中并不常見,但它們提供了無限的可能性來改變類的行為,從而使元編程成為可能,這篇文章主要給大家介紹了關(guān)于python高級之元類的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • Python應(yīng)用庫大全總結(jié)

    Python應(yīng)用庫大全總結(jié)

    本篇文章給大家分享了Python應(yīng)用庫大全的相關(guān)內(nèi)容,對此有需要的可以學(xué)習(xí)下。
    2018-05-05

最新評論

积石山| 通山县| 岳池县| 海丰县| 重庆市| 寿阳县| 阳谷县| 元谋县| 甘德县| 苏尼特右旗| 保靖县| 中西区| 宜良县| 儋州市| 兴仁县| 伊吾县| 子洲县| 锦屏县| 卢湾区| 木里| 北碚区| 札达县| 商城县| 太谷县| 青龙| 根河市| 兴宁市| 望谟县| 乳山市| 云阳县| 淅川县| 疏勒县| 浮山县| 康平县| 大安市| 汝南县| 平顶山市| 正宁县| 专栏| 堆龙德庆县| 泰顺县|