Python + экземпляр суб-поток обновляет интерфейс интерфейса PyQT5

Сегодня мало для всех , чтобы примеры долевых дочерних потоков обновить интерфейс пользовательского интерфейса в Python + PyQT5 имеет хорошее эталонное значение, мы хотим помочь. Приезжайте и посмотрите, чтобы следовать за небольшой серии вместе
суб-нить не может обновить интерфейс UI, с точки зрения мобильного терминала. Посетите Android UI не заблокирован, несколько потоков могут одновременно получить доступ те же элементы управления обновлением пользовательского интерфейса. То есть среди UI при доступе, андроид управления системой не поточно-, что приведет к многопоточному режиму, склонному к неконтролируемой общей ошибке , когда несколько потоков обращаются тем же элементы управления обновлением пользовательского интерфейса. Таким образом , Android положение может получить доступ только пользовательский интерфейс в потоке пользовательского интерфейса, доступ к эквиваленту Android UI из другого угла плюс замка, псевдо-замок.

QThread используется в PyQT5

from PyQt5.QtWidgets import QMainWindow, QPushButton, QApplication
from PyQt5.QtWidgets import *
from PyQt5.QtCore import *
import time
  
#继承QThread
  
class Mythread(QThread):
  # 定义信号,定义参数为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))
  
  # 创建线程
  thread = Mythread()
  # # 注册信号处理函数
  thread.breakSignal.connect(chuli)
  # # 启动线程
  thread.start()
  dlg.exec_()
  app.exit()

Обновление пользовательского интерфейса может быть похож на питона, используя механизм передачи сообщений.

Переменный может быть изменен в основном потоке дочернего потока, основной поток и рисовать читать переменный образ.
Мы рекомендуем питон обучение сайтов , чтобы увидеть , как обучение пожилых людей ! Из базового сценария питона, рептилий, Джанго, сортировочные элементы данных интеллектуального анализа данных, программирование методов, а также для борьбы с нуля, каждому дается любовь обучения питона маленького партнера! Python ветеран день должен объяснить временные технологии, чтобы поделиться некоторыми из способов узнать и нужно обратить внимание на мелкие детали, нажмите питон ученик присоединиться к нашему сбору

Python + выше данном случае дочерний поток для обновления пользовательского интерфейса интерфейса PyQT5 является небольшой серией, чтобы разделить все содержимое всех, и я надеюсь дать вам ссылку

Опубликовано 51 оригинальные статьи · вона похвала 17 · просмотров 30000 +

рекомендация

отblog.csdn.net/haoxun02/article/details/104418910
рекомендация