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判断windows系统是32位还是64位的方法
May 11 Python
全面了解Python环境配置及项目建立
Jun 30 Python
python实现汽车管理系统
Nov 30 Python
python 二维数组90度旋转的方法
Jan 28 Python
Python面向对象实现一个对象调用另一个对象操作示例
Apr 08 Python
Python编程学习之如何判断3个数的大小
Aug 07 Python
20行Python代码实现视频字符化功能
Apr 13 Python
Python基于进程池实现多进程过程解析
Apr 30 Python
python3代码中实现加法重载的实例
Dec 03 Python
Python列表的深复制和浅复制示例详解
Feb 12 Python
python实现图片批量压缩
Apr 24 Python
利用Python实现模拟登录知乎
May 25 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
实时抓取YAHOO股票报价的代码
2006/10/09 PHP
php 特殊字符处理函数
2008/09/05 PHP
解析wamp5下虚拟机配置文档
2013/06/27 PHP
PHP简单实现欧拉函数Euler功能示例
2017/11/06 PHP
PHP有序表查找之插值查找算法示例
2018/02/10 PHP
jquery简单体验
2007/01/10 Javascript
JavaScript 学习笔记(七)字符串的连接
2009/12/31 Javascript
基于JQuery.timer插件实现一个计时器
2010/04/25 Javascript
JS 控制小数位数的实现代码
2011/08/02 Javascript
IE网页js语法错误2行字符1、FF中正常的解决方法
2013/09/09 Javascript
编写简单的jQuery提示插件
2014/12/21 Javascript
jQuery检测滚动条是否到达底部
2015/12/15 Javascript
基于JS实现checkbox全选功能实例代码
2016/10/31 Javascript
微信小程序实现打卡日历功能
2020/09/21 Javascript
Vue加载json文件的方法简单示例
2019/01/28 Javascript
Node.js 在本地生成日志文件的方法
2020/02/07 Javascript
Python中的一些陷阱与技巧小结
2015/07/10 Python
python用模块zlib压缩与解压字符串和文件的方法
2016/12/16 Python
python如何派生内置不可变类型并修改实例化行为
2018/03/21 Python
对python3中pathlib库的Path类的使用详解
2018/10/14 Python
Python面向对象程序设计OOP深入分析【构造函数,组合类,工具类等】
2019/01/05 Python
python如何更新包
2020/06/11 Python
JupyterNotebook 输出窗口的显示效果调整实现
2020/09/22 Python
CSS书写规范、顺序和命名规则
2014/03/06 HTML / CSS
How to spawning asynchronous work in J2EE
2016/08/29 面试题
《莫泊桑拜师》教学反思
2014/04/23 职场文书
村党建工作汇报材料
2014/11/02 职场文书
2015年员工工作表现评语
2015/03/25 职场文书
消防演习感想
2015/08/10 职场文书
百年校庆宣传标语口号
2015/12/26 职场文书
2016优秀护士先进个人事迹材料
2016/02/25 职场文书
你为什么是穷人?可能是这5个缺点造成
2019/07/11 职场文书
80行代码写一个Webpack插件并发布到npm
2021/05/24 Javascript
Python实现socket库网络通信套接字
2021/06/04 Python
启动Tomcat时出现大量乱码的解决方法
2021/06/21 Java/Android
JavaScript中的LHS和RHS分析详情
2022/04/06 Javascript