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实现的摇骰子猜大小功能小游戏示例
Dec 18 Python
Python使用正则表达式获取网页中所需要的信息
Jan 29 Python
Python3 XML 获取雅虎天气的实现方法
Feb 01 Python
Python利用公共键如何对字典列表进行排序详解
May 19 Python
对pandas中两种数据类型Series和DataFrame的区别详解
Nov 12 Python
python交互模式下输入换行/输入多行命令的方法
Jul 02 Python
python学生管理系统的实现
Apr 05 Python
Jupyter notebook无法导入第三方模块的解决方式
Apr 15 Python
使用Python对Dicom文件进行读取与写入的实现
Apr 20 Python
用python实现名片管理系统
Jun 18 Python
python中 _、__、__xx__()区别及使用场景
Jun 30 Python
Pytorch使用shuffle打乱数据的操作
May 20 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/12/28 PHP
PHP 验证身份证是否合法的函数
2017/02/09 PHP
2020最新版 PhpStudy V8.1版本下载安装使用详解
2020/10/30 PHP
PHP高并发和大流量解决方案整理
2021/03/09 PHP
根据判断浏览器类型屏幕分辨率自动调用不同CSS的代码
2007/02/22 Javascript
编写Js代码要注意的几条规则
2010/09/10 Javascript
brook javascript框架介绍
2011/10/10 Javascript
javascript针对DOM的应用分析(三)
2012/04/15 Javascript
JS实现随机化快速排序的实例代码
2013/08/01 Javascript
javascript编程异常处理实例小结
2015/11/30 Javascript
jQuery遮罩层效果实例分析
2016/01/14 Javascript
两种方法解决javascript url post 特殊字符转义 + & #
2016/04/13 Javascript
JavaScript实现256色转灰度图
2017/02/22 Javascript
vue3.0中使用postcss-pxtorem的具体方法
2019/11/20 Javascript
超简单的微信小程序轮播图
2019/11/22 Javascript
js实现简单音乐播放器
2020/06/30 Javascript
python中list列表的高级函数
2016/05/17 Python
Python实现将数据框数据写入mongodb及mysql数据库的方法
2018/04/02 Python
Python高级特性与几种函数的讲解
2019/03/08 Python
PyCharm安装Markdown插件的两种方法
2019/06/24 Python
python3的print()函数的用法图文讲解
2019/07/16 Python
Python实用库 PrettyTable 学习笔记
2019/08/06 Python
Django框架 Pagination分页实现代码实例
2019/09/04 Python
Python制作一个仿QQ办公版的图形登录界面
2020/09/22 Python
python3实现飞机大战
2020/11/29 Python
HTML5之WebGL 3D概述(下)—借助类库开发及框架介绍
2013/01/31 HTML / CSS
HTML5 canvas基本绘图之文字渲染
2016/06/27 HTML / CSS
美国汽车性能部件和赛车零件网站:Vivid Racing
2018/03/27 全球购物
NBA欧洲商店(英国):NBA Europe Store UK
2018/07/27 全球购物
日本AOKI官方商城:AOKI西装
2020/06/11 全球购物
小学教育毕业生自荐信
2013/11/18 职场文书
市委常委会班子党的群众路线教育实践活动整改方案
2014/10/25 职场文书
数据结构课程设计心得体会
2016/01/15 职场文书
2016年学生会感恩节活动总结
2016/04/01 职场文书
教你解决往mysql数据库中存入汉字报错的方法
2021/05/06 MySQL
一起来看看Vue的核心原理剖析
2022/03/24 Vue.js