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 相关文章推荐
使用wxpython实现的一个简单图片浏览器实例
Jul 10 Python
Ruby使用eventmachine为HTTP服务器添加文件下载功能
Apr 20 Python
基于python实现的抓取腾讯视频所有电影的爬虫
Apr 22 Python
Python语言的变量认识及操作方法
Feb 11 Python
教你使用python画一朵花送女朋友
Mar 29 Python
Python实现的端口扫描功能示例
Apr 08 Python
python 3调用百度OCR API实现剪贴板文字识别
Sep 04 Python
Python使用crontab模块设置和清除定时任务操作详解
Apr 09 Python
不到20行实现Python代码即可制作精美证件照
Apr 24 Python
如何使用PyCharm将代码上传到GitHub上(图文详解)
Apr 27 Python
Python操作dict时避免出现KeyError的几种解决方法
Sep 20 Python
Github 使用python对copilot做些简单使用测试
Apr 14 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删除特定数组内容并且重建数组索引的方法.
2011/03/25 PHP
PHP更新购物车数量(表单部分/PHP处理部分)
2013/05/03 PHP
php中用加号与用array_merge合并数组的区别深入分析
2013/06/03 PHP
PHP获取Exif缩略图的方法
2015/07/13 PHP
php需登录的文件上传管理系统
2020/03/21 PHP
Laravel Memcached缓存驱动的配置与应用方法分析
2016/10/08 PHP
PHP基于SPL实现的迭代器模式示例
2018/04/22 PHP
PHP实现简单的计算器
2020/08/28 PHP
jQuery温习篇 强大的JQuery选择器
2010/04/24 Javascript
关于javascript中this关键字(翻译+自我理解)
2010/10/20 Javascript
js实现网页自动刷新可制作节日倒计时效果
2014/05/27 Javascript
jQuery实现切换页面过渡动画效果
2015/10/29 Javascript
js实现随机抽选效果、随机抽选红色球效果
2017/01/13 Javascript
angularjs+bootstrap实现自定义分页的实例代码
2017/06/19 Javascript
JavaScript中递归实现的方法及其区别
2017/09/12 Javascript
Vue组件通信的四种方式汇总
2018/02/08 Javascript
通过函数作用域和块级作用域看javascript的作用域链
2018/08/05 Javascript
ES6扩展运算符和rest运算符用法实例分析
2020/05/23 Javascript
python中zip()方法应用实例分析
2016/04/16 Python
Python创建二维数组实例(关于list的一个小坑)
2017/11/07 Python
详解Python下ftp上传文件linux服务器
2018/06/21 Python
使用python对多个txt文件中的数据进行筛选的方法
2019/07/10 Python
python selenium爬取斗鱼所有直播房间信息过程详解
2019/08/09 Python
Flask框架搭建虚拟环境的步骤分析
2019/12/21 Python
python扫描线填充算法详解
2020/02/19 Python
pytorch 计算ConvTranspose1d输出特征大小方式
2020/06/23 Python
Python自动创建Excel并获取内容
2020/09/16 Python
HTML5中input输入框默认提示文字向左向右移动的示例代码
2020/09/10 HTML / CSS
澳大利亚墨尔本的在线时装店:LORETA
2018/09/14 全球购物
95%的面试官都会问到的50道Java线程题,附答案
2012/08/03 面试题
物业工作计划书
2014/01/10 职场文书
《听鱼说话》教学反思
2014/02/15 职场文书
中级会计职业生涯规划书
2014/03/01 职场文书
孝敬父母的活动方案
2014/08/31 职场文书
简单的离婚协议书范本
2014/11/16 职场文书
运动会通讯稿200字
2015/07/20 职场文书