经常会遇到一段需要持续运行的程序,在运行过程中会定时或不定时的数据一些信息。在PyQt5中界面会一直等到程序结束后一次性显示所有信息,同时整个界面就会卡住。QThread 模块就是用来解决这个问题的。

书中举得例子是实时显示时间,就不多说了。我自己也写了一个例子加强理解。UI界面使用designer做好了,用pyuic5转换成的py文件,就是所谓的界面和业务分离的操作。

先上界面代码:

 1 from PyQt5 import QtCore, QtGui, QtWidgets
 2 
 3 
 4 class Ui_MainWindow(object):
 5     def setupUi(self, MainWindow):
 6         MainWindow.setObjectName("MainWindow")
 7         MainWindow.resize(258, 340)
 8         self.centralwidget = QtWidgets.QWidget(MainWindow)
 9         self.centralwidget.setObjectName("centralwidget")
10         self.pushButton = QtWidgets.QPushButton(self.centralwidget)
11         self.pushButton.setGeometry(QtCore.QRect(150, 40, 75, 23))
12         self.pushButton.setObjectName("pushButton")
13         self.textBrowser = QtWidgets.QTextBrowser(self.centralwidget)
14         self.textBrowser.setGeometry(QtCore.QRect(0, 110, 251, 221))
15         self.textBrowser.setObjectName("textBrowser")
16 
17         MainWindow.setCentralWidget(self.centralwidget)
18 
19         self.retranslateUi(MainWindow)
20         QtCore.QMetaObject.connectSlotsByName(MainWindow)
21 
22     def retranslateUi(self, MainWindow):
23         _translate = QtCore.QCoreApplication.translate
24         MainWindow.setWindowTitle(_translate("MainWindow", "MainWindow"))
25         self.pushButton.setText(_translate("MainWindow", "PushButton"))
View Code

相关文章:

  • 2022-01-22
  • 2022-12-23
  • 2019-08-01
  • 2022-12-23
  • 2022-12-23
  • 2021-08-11
  • 2021-06-08
  • 2022-12-23
猜你喜欢
  • 2021-06-22
  • 2021-06-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-04-08
  • 2021-11-21
相关资源
相似解决方案