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 相关文章推荐
解读Django框架中的低层次缓存API
Jul 24 Python
python开发之thread实现布朗运动的方法
Nov 11 Python
Python cx_freeze打包工具处理问题思路及解决办法
Feb 13 Python
Python判断值是否在list或set中的性能对比分析
Apr 16 Python
[原创]Python入门教程2. 字符串基本操作【运算、格式化输出、常用函数】
Oct 29 Python
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】
Dec 26 Python
python配置grpc环境
Jan 01 Python
阿里云ECS服务器部署django的方法
Aug 29 Python
tensorflow 模型权重导出实例
Jan 24 Python
浅谈Python协程
Jun 17 Python
浅谈sklearn中predict与predict_proba区别
Jun 28 Python
Python钉钉报警及Zabbix集成钉钉报警的示例代码
Aug 17 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
PHP7匿名类的用法示例
2019/04/05 PHP
Javascript select控件操作大全(新增、修改、删除、选中、清空、判断存在等)
2008/12/19 Javascript
jquery之超简单的div显示和隐藏特效demo(分享)
2013/07/09 Javascript
表单元素与非表单元素刷新区别详细解析
2013/11/06 Javascript
js替代copy(示例代码)
2013/11/27 Javascript
中文输入法不触发onkeyup事件的解决办法
2014/07/09 Javascript
JS实现仿QQ面板的手风琴效果折叠菜单代码
2015/09/11 Javascript
基于JavaScript实现定时跳转到指定页面
2016/01/01 Javascript
50 个 jQuery 插件可将你的网站带到另外一个高度
2016/04/26 Javascript
jQuery实现菜单栏导航效果
2017/08/15 jQuery
Vue.js实现按钮的动态绑定效果及实现代码
2017/08/21 Javascript
Jquery和CSS实现选择框重置按钮功能
2018/11/08 jQuery
创建Vue项目以及引入Iview的方法示例
2018/12/03 Javascript
简单了解JavaScript中常见的反模式
2019/06/21 Javascript
浅探express路由和中间件的实现
2019/09/30 Javascript
vue 解决form表单提交但不跳转页面的问题
2019/10/30 Javascript
Vue如何实现监听组件原生事件
2020/07/03 Javascript
全网小程序接口请求封装实例代码
2020/11/06 Javascript
跟老齐学Python之用while来循环
2014/10/02 Python
给Python IDLE加上自动补全和历史功能
2014/11/30 Python
CentOS中使用virtualenv搭建python3环境
2015/06/08 Python
python实现搜索本地文件信息写入文件的方法
2016/02/22 Python
Python拼接微信好友头像大图的实现方法
2018/08/01 Python
对numpy中的where方法嵌套使用详解
2018/10/31 Python
Python tkinter三种布局实例详解
2020/01/06 Python
解决Django提交表单报错:CSRF token missing or incorrect的问题
2020/03/13 Python
python os.rename实例用法详解
2020/12/06 Python
django使用多个数据库的方法实例
2021/03/04 Python
Saucony澳大利亚官网:美国跑鞋品牌,运动鞋中的劳斯莱斯
2018/05/05 全球购物
PatPat德国:妈妈的每日优惠
2019/10/02 全球购物
数控专业个人求职信范例
2013/11/29 职场文书
航海技术专业毕业生求职信
2014/04/06 职场文书
孝敬父母的演讲稿
2014/05/14 职场文书
幼儿教师师德承诺书
2014/05/23 职场文书
2015年元旦演讲稿
2014/09/12 职场文书
师德培训心得体会2016
2016/01/09 职场文书