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 内置字符串处理函数的使用方法
Jun 11 Python
使用Pyrex来扩展和加速Python程序的教程
Apr 13 Python
浅谈使用Python内置函数getattr实现分发模式
Jan 22 Python
python MysqlDb模块安装及其使用详解
Feb 23 Python
Python简单实现阿拉伯数字和罗马数字的互相转换功能示例
Apr 17 Python
Python发送邮件功能示例【使用QQ邮箱】
Dec 04 Python
解决sublime+python3无法输出中文的问题
Dec 12 Python
用Python解决x的n次方问题
Feb 08 Python
利用Python复制文件的9种方法总结
Sep 02 Python
Python基于traceback模块获取异常信息
Jul 23 Python
python如何利用Mitmproxy抓包
Oct 10 Python
Python安装Bs4的多种方法
Nov 28 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
PHPlet在Windows下的安装
2006/10/09 PHP
destoon安全设置中需要设置可写权限的目录及文件
2014/06/21 PHP
PHP defined()函数的使用图文详解
2019/07/20 PHP
jquery ui 1.7 ui.tabs 动态添加与关闭(按钮关闭+双击关闭)
2010/04/01 Javascript
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
JS的千分位算法实现思路
2013/07/31 Javascript
JS正则表达式获取分组内容的方法详解
2013/11/15 Javascript
SinaEditor使用方法详解
2013/12/28 Javascript
JQuery弹出炫丽对话框的同时让背景变灰色
2014/05/22 Javascript
探寻Javascript执行效率问题
2014/11/12 Javascript
鼠标经过子元素触发mouseout,mouseover事件的解决方案
2015/07/26 Javascript
解决JS无法调用Controller问题的方法
2015/12/31 Javascript
bootstrap输入框组代码分享
2016/06/07 Javascript
HTML5canvas 绘制一个圆环形的进度表示实例
2016/12/16 Javascript
JS中showModalDialog关闭子窗口刷新主窗口用法详解
2017/03/25 Javascript
Angular实现的简单查询天气预报功能示例
2017/12/27 Javascript
微信小程序日期时间选择器使用方法
2018/02/01 Javascript
vue实现微信获取用户信息的方法
2019/03/21 Javascript
将RGB值转换为灰度值的简单算法
2019/10/09 Javascript
Python中的赋值、浅拷贝、深拷贝介绍
2015/03/09 Python
深入理解Django的自定义过滤器
2017/10/17 Python
python Crypto模块的安装与使用方法
2017/12/21 Python
详解python异步编程之asyncio(百万并发)
2018/07/07 Python
python队列原理及实现方法示例
2019/11/27 Python
Pandas-Cookbook 时间戳处理方式
2019/12/07 Python
opencv 图像滤波(均值,方框,高斯,中值)
2020/07/08 Python
推荐10个CSS3 制作的创意下拉菜单效果
2014/02/11 HTML / CSS
IWOOT美国:新奇的小玩意
2018/04/27 全球购物
匡威英国官网:Converse英国
2018/12/02 全球购物
极度干燥澳大利亚官方网站:Superdry澳大利亚
2019/03/28 全球购物
档案管理员岗位职责
2013/12/01 职场文书
经验丰富大学生村干部自我鉴定
2014/01/22 职场文书
信用卡逾期证明示例
2014/09/13 职场文书
2016年社区中秋节活动总结
2016/04/05 职场文书
PyTorch 如何检查模型梯度是否可导
2021/06/05 Python
使用kubeadm命令行工具创建kubernetes集群
2022/03/31 Servers