在python3中实现更新界面
时间:2020-02-21来源:系统城作者:电脑系统城
我就废话不多说了,直接上代码吧!
- 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中实现更新界面就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。
相关信息