python 窗口更新_在python3中实现更新界面

我就废话不多说了,直接上代码吧!

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

20200221151801.gif

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)、另一种方法

目录

20200221151819.jpg

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博客。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值