python如何通过pyqt5实现进度条


Posted in Python onJanuary 20, 2020

这篇文章主要介绍了python如何通过pyqt5实现进度条,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

python太博大精深了,使用场景非常多。最近笔者一直使用PyQt5编一些小程序,顺便就把一些常用的东西列出来,做个记录和积累吧。
进度条是非常常用的东西,今天用的时候,顺便温习了一下,这个东西自己感觉没啥可讲的,最好的办法就是例子来说明:下面给一个简单的例子。

基本进度条使用:

进度条的函数如下:

self.pbar = QProgressBar(self) //进度条的定义

self.pbar.setGeometry(30, 60, 100, 30) //进度条的大小和位置,前两个是位置,后两个是大小

进度条默认一般是长度为100,步长度一般使用一个变量来控制,这个变量要初始化为零,需要清空的时候要记得清零:

self.step = 0

当步长设置的的时候,一定要设置到进度条的属性里面,不然的话意义不大,如下所示:

self.step = self.step+1

self.pbar.setValue(self.step)

 下面是一个基本例子:直接运行即可

#!/usr/bin/python3
# -*- coding: utf-8 -*-

"""
PyQt5 教程

这个例子显示了一个进度条控件。
auther: 虚生
"""
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QProgressBar, QPushButton
from PyQt5.QtCore import QBasicTimer

class Example(QWidget):

  def __init__(self):
    super().__init__()

    self.initUI()

  def initUI(self):

    self.pbar = QProgressBar(self)
    self.pbar.setGeometry(30, 40, 200, 25)

    self.btn = QPushButton('开始', self)
    self.btn.move(40, 80)
    self.btn.clicked.connect(self.doAction)

    self.timer = QBasicTimer()
    self.step = 0
    self.setGeometry(300, 300, 280, 170)
    self.setWindowTitle('进度条')
    self.show()

  def timerEvent(self, e):

    if self.step >= 100:
      self.step = 0
      self.pbar.setValue(self.step)
      self.timer.stop()
      self.btn.setText('完成')
      return
    self.step = self.step+1
    self.pbar.setValue(self.step)

  def doAction(self, value):
    print("do action")
    if self.timer.isActive():
      self.timer.stop()
      self.btn.setText('开始')
    else:
      self.timer.start(100, self)
      self.btn.setText('停止')

if __name__ == '__main__':
   app = QApplication(sys.argv)
   ex = Example()
   sys.exit(app.exec_())

运行结果如下:

python如何通过pyqt5实现进度条

 这个是我pyqt5的github集合里面的一个,本人积累的pyqt5的例子都在里面,有需要的请查看:

https://github.com/DyLanCao/pyqt5_example.git

 还有一个问题备忘:

1 默认的最大个数怎么修改:

self.pbar = QProcessBar(self)

self.pbar.setMaximum(100)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
pydev使用wxpython找不到路径的解决方法
Feb 10 Python
python控制台中实现进度条功能
Nov 10 Python
解决Python字典写入文件出行首行有空格的问题
Sep 27 Python
Python爬虫实战:分析《战狼2》豆瓣影评
Mar 26 Python
可能是最全面的 Python 字符串拼接总结【收藏】
Jul 09 Python
解决python 无法加载downsample模型的问题
Oct 25 Python
朴素贝叶斯Python实例及解析
Nov 19 Python
对Python3使运行暂停的方法详解
Feb 18 Python
python numpy中cumsum的用法详解
Oct 17 Python
Python timer定时器两种常用方法解析
Jan 20 Python
Django的CVB实例详解
Feb 10 Python
Keras使用ImageNet上预训练的模型方式
May 23 Python
python super用法及原理详解
Jan 20 #Python
tensorflow 变长序列存储实例
Jan 20 #Python
在tensorflow中实现去除不足一个batch的数据
Jan 20 #Python
Tensorflow实现在训练好的模型上进行测试
Jan 20 #Python
Python线程条件变量Condition原理解析
Jan 20 #Python
tensorflow tf.train.batch之数据批量读取方式
Jan 20 #Python
Python list运算操作代码实例解析
Jan 20 #Python
You might like
重料打造自己的“宝马”---第三代
2021/03/02 无线电
php 按指定元素值去除数组元素的实现方法
2011/11/04 PHP
SSO单点登录的PHP实现方法(Laravel框架)
2016/03/23 PHP
基于jquery的图片懒加载js
2010/06/30 Javascript
javascript中关于执行环境的杂谈
2011/08/14 Javascript
javascript 函数及作用域总结介绍
2013/11/12 Javascript
不使用ajax实现无刷新提交表单
2014/12/21 Javascript
JS中页面与页面之间超链接跳转中文乱码问题的解决办法
2016/12/15 Javascript
JS数组搜索之折半搜索实现方法分析
2017/03/27 Javascript
基于Vue实现支持按周切换的日历
2020/09/24 Javascript
js动态添加表格逐行添加、删除、遍历取值的实例代码
2018/01/25 Javascript
vue中阻止click事件冒泡,防止触发另一个事件的方法
2018/02/08 Javascript
详解React Native 屏幕适配(炒鸡简单的方法)
2018/06/11 Javascript
VUE-Table上绑定Input通过render实现双向绑定数据的示例
2018/08/27 Javascript
「中高级前端面试」JavaScript手写代码无敌秘籍(推荐)
2019/04/08 Javascript
vue中动态select的使用方法示例
2019/10/28 Javascript
Python中让MySQL查询结果返回字典类型的方法
2014/08/22 Python
Python实现导出数据生成excel报表的方法示例
2017/07/12 Python
使用python和Django完成博客数据库的迁移方法
2018/01/05 Python
python命令行解析之parse_known_args()函数和parse_args()使用区别介绍
2018/01/24 Python
python实现猜拳游戏
2020/03/04 Python
Python3标准库glob文件名模式匹配的问题
2020/03/13 Python
PIL.Image.open和cv2.imread的比较与相互转换的方法
2020/06/03 Python
浅谈keras中的后端backend及其相关函数(K.prod,K.cast)
2020/06/29 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
2020/06/30 Python
HTML5之SVG 2D入门4—笔画与填充
2013/01/30 HTML / CSS
HTML5 canvas实现的静态循环滚动播放弹幕
2021/01/05 HTML / CSS
迪卡侬中国官网:Decathlon中国
2020/08/10 全球购物
2014年两会学习心得体会
2014/03/17 职场文书
党员评议表自我评价范文
2014/10/20 职场文书
教师工作能力自我评价
2015/03/04 职场文书
倡议书格式及范文
2015/04/29 职场文书
利用html+css实现菜单栏缓慢下拉效果的示例代码
2021/03/30 HTML / CSS
php 解析非标准json、非规范json
2021/04/01 PHP
python文本处理的方案(结巴分词并去除符号)
2021/05/26 Python
nginx内存池源码解析
2021/11/20 Servers