在python3中实现更新界面


Posted in Python onFebruary 21, 2020

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

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

在python3中实现更新界面

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

目录

在python3中实现更新界面

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 相关文章推荐
跟老齐学Python之赋值,简单也不简单
Sep 24 Python
python实现根据用户输入从电影网站获取影片信息的方法
Apr 07 Python
在Django中使用Sitemap的方法讲解
Jul 22 Python
对Tensorflow中的矩阵运算函数详解
Jul 27 Python
Python基本socket通信控制操作示例
Jan 30 Python
selenium+python环境配置教程详解
May 28 Python
python pandas生成时间列表
Jun 29 Python
在Python中使用MySQL--PyMySQL的基本使用方法
Nov 19 Python
python-docx文件定位读取过程(尝试替换)
Feb 13 Python
Django在Model保存前记录日志实例
May 14 Python
python中常见错误及解决方法
Jun 21 Python
Python入门基础之数字字符串与列表
Feb 01 Python
Python要如何实现列表排序的几种方法
Feb 21 #Python
python用WxPython库实现无边框窗体和透明窗体实现方法详解
Feb 21 #Python
使用Python打造一款间谍程序的流程分析
Feb 21 #Python
python实现堆排序的实例讲解
Feb 21 #Python
Python中的sys.stdout.write实现打印刷新功能
Feb 21 #Python
Python控制台输出时刷新当前行内容而不是输出新行的实现
Feb 21 #Python
python编程进阶之异常处理用法实例分析
Feb 21 #Python
You might like
也谈 PHP 和 MYSQL
2006/10/09 PHP
关于BIG5-HKSCS的解决方法
2007/03/20 PHP
PHP入门教程之面向对象基本概念实例分析
2016/09/11 PHP
Zend Framework分发器用法示例
2016/12/11 PHP
Laravel5.1 框架数据库操作DB运行原生SQL的方法分析
2020/01/07 PHP
JavaScript入门教程(1) 什么是JS
2009/01/31 Javascript
基于jquery DOM写的类似微博发布的效果
2012/10/20 Javascript
JS随机漂浮广告代码具体实例
2013/11/19 Javascript
JS window对象的top、parent、opener含义介绍
2013/12/03 Javascript
JavaScript中跨域调用Flash的方法
2014/08/11 Javascript
js实现文本框支持加减运算的方法
2015/08/19 Javascript
Vuejs第十二篇之动态组件全面解析
2016/09/09 Javascript
AngularJS过滤器filter用法总结
2016/12/13 Javascript
浅谈js script标签中的预解析
2016/12/30 Javascript
快速实现JS图片懒加载(可视区域加载)示例代码
2017/01/04 Javascript
JS实现动态添加DOM节点和事件的方法示例
2017/04/28 Javascript
JS实现无缝循环marquee滚动效果
2017/05/22 Javascript
详解angular 中的自定义指令之详解API
2017/06/20 Javascript
JS中移除非数字最多保留一位小数
2018/05/09 Javascript
JS解析后台返回的JSON格式数据实例
2018/08/06 Javascript
使用Karma做vue组件单元测试的实现
2020/01/16 Javascript
[01:28]2014DOTA2国际邀请赛中国区预选赛四大豪门直升机抵达会场
2014/05/24 DOTA
[45:40]Ti4 冒泡赛第二天NEWBEE vs NaVi 1
2014/07/15 DOTA
Python实现爬取逐浪小说的方法
2015/07/07 Python
Python打包可执行文件的方法详解
2016/09/19 Python
python 剪切移动文件的实现代码
2018/08/02 Python
Kali Linux安装ipython2 和 ipython3的方法
2019/07/11 Python
纯python进行矩阵的相乘运算的方法示例
2019/07/17 Python
基于Python中random.sample()的替代方案
2020/05/23 Python
python中对二维列表中一维列表的调用方法
2020/06/07 Python
python如何代码集体右移
2020/07/20 Python
python rsa-oaep加密的示例代码
2020/09/23 Python
Dyson戴森波兰官网:Dyson.pl
2019/08/05 全球购物
实习生工作证明范本
2014/09/14 职场文书
Python实现的扫码工具居然这么好用!
2021/06/07 Python
深入理解margin塌陷和margin合并的解决方案
2021/06/26 HTML / CSS