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 相关文章推荐
Python中使用MELIAE分析程序内存占用实例
Feb 18 Python
python中sys.argv参数用法实例分析
May 20 Python
python不换行之end=与逗号的意思及用途
Nov 21 Python
详解Python最长公共子串和最长公共子序列的实现
Jul 07 Python
python删除字符串中指定字符的方法
Aug 13 Python
Python 中@property的用法详解
Jan 15 Python
Python chardet库识别编码原理解析
Feb 18 Python
python3.6.8 + pycharm + PyQt5 环境搭建的图文教程
Jun 11 Python
Python使用pyexecjs代码案例解析
Jul 13 Python
Django中ORM的基本使用教程
Dec 22 Python
装上这 14 个插件后,PyCharm 真的是无敌的存在
Jan 11 Python
Python打包为exe详细教程
May 18 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
PHP常用处理静态操作类
2015/04/03 PHP
IE 条件注释详解总结(附实例代码)
2009/08/29 Javascript
用JQuery 判断某个属性是否存在hasAttr的解决方法
2013/04/26 Javascript
jquery模拟SELECT下拉框取值效果
2013/10/23 Javascript
jquerydom对象的事件隐藏显示和对象数组示例
2013/12/10 Javascript
JavaScript避免代码的重复执行经验技巧分享
2014/04/17 Javascript
加载列表时jquery获取ul中第一个li的属性
2014/11/02 Javascript
JS动态插入并立即执行回调函数的方法
2016/04/21 Javascript
jQuery插件开发汇总
2016/05/15 Javascript
BootStrap学习笔记之nav导航栏和面包屑导航
2017/01/03 Javascript
基于NodeJS+MongoDB+AngularJS+Bootstrap开发书店案例分析
2017/01/12 NodeJs
JS手机端touch事件计算滑动距离的方法示例
2017/10/26 Javascript
更改BootStrap popover的默认样式及popover简单用法
2018/09/13 Javascript
python实现在目录中查找指定文件的方法
2014/11/11 Python
Python实现Windows上气泡提醒效果的方法
2015/06/03 Python
python检查URL是否正常访问的小技巧
2017/02/25 Python
django-rest-framework 自定义swagger过程详解
2019/07/18 Python
python通过matplotlib生成复合饼图
2020/02/06 Python
pytorch进行上采样的种类实例
2020/02/18 Python
matplotlib 生成的图像中无法显示中文字符的解决方法
2020/06/10 Python
详解scrapy内置中间件的顺序
2020/09/28 Python
澳大利亚礼品篮网站:Macarthur Baskets
2019/10/14 全球购物
耐克亚太地区:Nike APAC
2019/12/07 全球购物
四年的个人工作自我评价
2013/12/10 职场文书
大学自我鉴定范文
2013/12/26 职场文书
优秀毕业生求职信范文
2014/01/02 职场文书
电信营业员自我评价分享
2014/01/17 职场文书
老人祝寿主持词
2014/03/28 职场文书
学雷锋演讲稿汇总
2014/05/10 职场文书
党员志愿者活动总结
2014/06/26 职场文书
法学专业大学生实习自我鉴定
2014/10/05 职场文书
作文评语集锦
2014/12/25 职场文书
校园安全学习心得体会
2016/01/18 职场文书
导游词之京东大峡谷旅游区
2019/10/29 职场文书
我们认为中短波广播场强仪的最佳组合
2022/04/05 无线电
Redis基本数据类型String常用操作命令
2022/06/01 Redis