概述
我就废话不多说了,直接上代码吧!
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中实现更新界面就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
最后
以上就是快乐墨镜为你收集整理的python更新_在python3中实现更新界面的全部内容,希望文章能够帮你解决python更新_在python3中实现更新界面所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复