前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >python pyqt5 多线程与信号

python pyqt5 多线程与信号

作者头像
用户5760343
发布2019-07-22 13:40:07
1.7K0
发布2019-07-22 13:40:07
举报
文章被收录于专栏:sktjsktj

-- coding: utf-8 --

""" 【简介】 多线程更新跟新数据,pyqt5界面实时刷新例子

"""

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)

代码语言:javascript
复制
# 处理要做的业务逻辑
def run(self):
    while True:
        data = QDateTime.currentDateTime()
        currTime = data.toString("yyyy-MM-dd hh:mm:ss")
        self.update_date.emit(str(currTime))
        time.sleep(1)

class Window(QDialog): def init(self): QDialog.init(self) self.setWindowTitle('pyqt5界面实时更新例子') self.resize(400, 100) self.input = QLineEdit(self) self.input.resize(400, 100) self.initUI()

代码语言:javascript
复制
def initUI(self):
    # 创建线程
    self.backend = BackendThread()
    # 连接信号
    self.backend.update_date.connect(self.handleDisplay)
    # 开始线程
    self.backend.start()

# 将当前时间输出到文本框
def handleDisplay(self, data):
    self.input.setText(data)

if name == 'main': app = QApplication(sys.argv) win = Window() win.show() sys.exit(app.exec_())

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.07.22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • -- coding: utf-8 --
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档