我就废话不多说了,直接上代码吧! from PyQt5.QtCore import QThread , pyqtSignal, QDateTime , QObjectfrom PyQt5.QtWidgets import QApplication, QDialog, QLineEditimport timeimport sys class BackendThread(QObject): # 通过类成员
我就废话不多说了,直接上代码吧!
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_())
补充拓展:
python 自动刷新网页代码
1、简介
1.打开网页
2)实现定时刷新
可以看到 多次自动打开关闭网页之后,浏览的数量 从 118 自动变成了 119
2、功能实现
1) 一种方法
from time import sleep from selenium import webdriver driver= webdriver.Chrome() # 需要 下载 对应浏览器 驱动到 python 安装目录 driver.get("https://blog.csdn.net/qq_27061049/article/details/90577597") # 刷新网址 for i in range(10000): # 刷新次数 driver.refresh() # 刷新网页 sleep(5) # 五秒一次
2)、另一种方法
目录
1)openweb.py
# -*- coding: utf-8 -*- import sys from PyQt5.QtWebEngineWidgets import QWebEngineView from PyQt5.QtCore import * from PyQt5.QtWidgets import * class WebView(QWebEngineView): def __init__(self): super(WebView, self).__init__() url = 'https://blog.csdn.net/qq_27061049/article/details/89711766' # 自定义刷新的网页 self.load(QUrl(url)) self.showMinimized() #窗口最小化 self.show() self.thread = Worker() # 创建线程实例 self.thread.sinOut.connect(self.reloadWeb) # 信号绑定槽函数 self.thread.start() # 开启线程 def reloadWeb(self): self.reload() #刷新网页 class Worker(QThread): sinOut = pyqtSignal() # 创建新的信号,并且有参数 num = 0 def __init__(self, parent=None): # 构造方法 创建号对象之后,会自动调用 super(Worker, self).__init__(parent) def __del__(self): # 析构函数 再对象被删除 和 回收的时候调用 self.wait() def run(self): for i in range(1000): # 发出信号 self.sinOut.emit() # 给信号传参字符串,并发送 # 线程休眠66秒 self.sleep(66) Worker.num = Worker.num + 1 print (str(Worker.num) + " 次刷新") if __name__ == '__main__': app = QApplication(sys.argv) web = WebView() print('### exec succeed !') sys.exit(app.exec_())
以上这篇在python3中实现更新界面就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持易盾网络。