在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 SQLAlchemy基本操作和常用技巧(包含大量实例,非常好)
May 06 Python
在Django框架中运行Python应用全攻略
Jul 17 Python
解决Scrapy安装错误:Microsoft Visual C++ 14.0 is required...
Oct 01 Python
让代码变得更易维护的7个Python库
Oct 09 Python
Django 创建/删除用户的示例代码
Jul 24 Python
在Python中os.fork()产生子进程的例子
Aug 08 Python
pytorch实现用CNN和LSTM对文本进行分类方式
Jan 08 Python
Python自动重新加载模块详解(autoreload module)
Apr 01 Python
python使用hdfs3模块对hdfs进行操作详解
Jun 06 Python
python中把元组转换为namedtuple方法
Dec 09 Python
聊聊Python pandas 中loc函数的使用,及跟iloc的区别说明
Mar 03 Python
Python 中 Shutil 模块详情
Nov 11 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下实现折线图效果的代码
2007/04/28 PHP
yii2中dropDownList实现二级和三级联动写法
2017/04/26 PHP
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
2020/12/30 PHP
WordPress 插件——CoolCode使用方法与下载
2007/07/02 Javascript
YUI 读码日记之 YAHOO.lang.is*
2008/03/22 Javascript
使用js显示当前时间示例
2014/03/02 Javascript
JavaScript正则表达式中的ignoreCase属性使用详解
2015/06/16 Javascript
javascript解析xml实现省市县三级联动的方法
2015/07/25 Javascript
JavaScript中Form表单技术汇总(推荐)
2016/06/26 Javascript
Bootstrap模态框水平垂直居中与增加拖拽功能
2016/11/09 Javascript
ES6学习教程之块级作用域详解
2017/10/09 Javascript
Angular2开发环境搭建教程之VS Code
2017/12/15 Javascript
前端js中的事件循环eventloop机制详解
2019/05/15 Javascript
JavaScript中var的重要性实例分析
2019/07/09 Javascript
vue使用混入定义全局变量、函数、筛选器的实例代码
2019/07/29 Javascript
JavaScript Dom 绑定事件操作实例详解
2019/10/02 Javascript
Vue结合路由配置递归实现菜单栏功能
2020/06/16 Javascript
el-form 多层级表单的实现示例
2020/09/10 Javascript
[49:27]LGD vs OG 2018国际邀请赛小组赛BO2 第二场 8.16
2018/08/17 DOTA
使用Python编写一个模仿CPU工作的程序
2015/04/16 Python
Django实现快速分页的方法实例
2017/10/22 Python
Python发送http请求解析返回json的实例
2018/03/26 Python
Centos下实现安装Python3.6和Python2共存
2018/08/15 Python
python画图系列之个性化显示x轴区段文字的实例
2018/12/13 Python
解决python3.5 正常安装 却不能直接使用Tkinter包的问题
2019/02/22 Python
python 标准差计算的实现(std)
2019/07/29 Python
在python中计算ssim的方法(与Matlab结果一致)
2019/12/19 Python
Pytest参数化parametrize使用代码实例
2020/02/22 Python
python 动态渲染 mysql 配置文件的示例
2020/11/20 Python
美国设计师精美珠宝购物网:Netaya
2016/08/28 全球购物
介绍一下Java的安全机制
2012/06/28 面试题
家长反馈意见及建议
2015/06/03 职场文书
安全温馨提示语大全
2015/07/14 职场文书
使用python+pygame开发消消乐游戏附完整源码
2021/06/10 Python
Flutter Navigator 实现路由传递参数
2022/04/22 Java/Android
在windows server 2012 r2中安装mysql的详细步骤
2022/07/23 Servers