from PyQt5.QtCore import QThread, pyqtSignal, QDateTime
from PyQt5.QtWidgets import QApplication, QDialog, QLineEdit
import time
import sys
class BackendThread(QThread):
"""
主窗口中创建线程更新数据
"""
update_date = pyqtSignal(str)
def run(self):
while True:
date = QDateTime.currentDateTime()
current_time = date.toString('yyyy-MM-dd hh:mm:ss')
self.update_date.emit(str(current_time))
time.sleep(1)
class ThreadUpdateUI(QDialog):
def __init__(self):
super(ThreadUpdateUI, self).__init__()
self.setWindowTitle('多线程更新UI数据')
self.resize(400, 100)
self.input = QLineEdit(self)
self.input.resize(400, 100)
self.initUI()
def initUI(self):
self.backend = BackendThread()
self.backend.update_date.connect(self.handle_display)
self.backend.start()
def handle_display(self, data):
self.input.setText(data)
if __name__ == '__main__':
app = QApplication(sys.argv)
example = ThreadUpdateUI()
example.show()
sys.exit(app.exec_())
pyQT5 UI 线程
最新推荐文章于 2023-12-21 21:52:57 发布