pyQt5实时刷新界面的示例

yipeiwu_com6年前Python基础

如下所示:

from PyQt5.QtCore import QThread , pyqtSignal, QDateTime , QObject
from PyQt5.QtWidgets import QApplication, QDialog, QLineEdit
import time
import sys

class BackendThread(QObject):
  # 通过类成员对象定义信号
  update_date = pyqtSignal(str)
  
  # 处理业务逻辑
  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('PyQt 5界面实时更新例子')
    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.handleDisplay)
    self.thread = QThread()
    self.backend.moveToThread(self.thread)
    # 开始线程
    self.thread.started.connect(self.backend.run)
    self.thread.start()

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

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

以上这篇pyQt5实时刷新界面的示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

利用Python批量提取Win10锁屏壁纸实战教程

利用Python批量提取Win10锁屏壁纸实战教程

前言 相信使用Win10的朋友会发现,每次开机锁屏界面都会有不一样的漂亮图片,这些图片通常选自优秀的摄影作品,十分精美。 但是由于系统会自动更换这些图片,所以就算再好看的图片,也许下次...

浅谈python字典多键值及重复键值的使用

浅谈python字典多键值及重复键值的使用

在python中使用字典,格式如下: dict={ key1:value1 , key2;value2 ...} 在实际访问字典值时的使用格式如下: dict[key] 多键值 字典的...

Python实现求最大公约数及判断素数的方法

本文实例讲述了Python实现求最大公约数及判断素数的方法。分享给大家供大家参考。具体实现方法如下: #!/usr/bin/env python def showMaxFactor...

Python学习笔记(一)(基础入门之环境搭建)

Python学习笔记(一)(基础入门之环境搭建)

  Python入门       本系列为Python学习相关笔记整理所得,IT人,多学无害,多多探索,激发学习兴趣,开拓思维...

浅析Python中MySQLdb的事务处理功能

前言 任何应用都离不开数据,所以在学习python的时候,当然也要学习一个如何用python操作数据库了。MySQLdb就是python对mysql数据库操作的模块。今天写了个工具,目...