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科学计算之NumPy入门教程
Jan 15 Python
python利用正则表达式搜索单词示例代码
Sep 24 Python
Python使用django框架实现多人在线匿名聊天的小程序
Nov 29 Python
快速了解Python开发中的cookie及简单代码示例
Jan 17 Python
python利用7z批量解压rar的实现
Aug 07 Python
python连接、操作mongodb数据库的方法实例详解
Sep 11 Python
浅析Python面向对象编程
Jul 10 Python
Python制作一个仿QQ办公版的图形登录界面
Sep 22 Python
python 如何对logging日志封装
Dec 02 Python
python RSA加密的示例
Dec 09 Python
Pycharm在指定目录下生成文件和删除文件的实现
Dec 28 Python
浏览器常用基本操作之python3+selenium4自动化测试(基础篇3)
May 21 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
phpfans留言版用到的install.php
2007/01/04 PHP
PHP,ASP.JAVA,JAVA代码格式化工具整理
2010/06/15 PHP
zend framework多模块多布局配置
2011/02/26 PHP
小谈php正则提取图片地址
2014/03/27 PHP
PHP实现链式操作的原理详解
2016/09/16 PHP
javascript 文本框水印/占位符(watermark/placeholder)实现方法
2012/01/15 Javascript
javascript通过navigator.userAgent识别各种浏览器
2013/10/25 Javascript
jquery实现翻动fadeIn显示的方法
2015/03/05 Javascript
JavaScript 对象详细整理总结
2016/09/29 Javascript
node.js请求HTTPS报错:UNABLE_TO_VERIFY_LEAF_SIGNATURE\的解决方法
2016/12/18 Javascript
HTML5+jQuery实现搜索智能匹配功能
2017/03/24 jQuery
vue-router单页面路由
2017/06/17 Javascript
JavaScript-定时器0~9抽奖系统详解(代码)
2017/08/16 Javascript
js字符限制(字符截取) 一个中文汉字算两个字符
2017/09/12 Javascript
探讨Vue.js的组件和模板
2017/10/27 Javascript
vue使用element-ui的el-input监听不了回车事件的解决方法
2018/01/12 Javascript
NodeJS 中Stream 的基本使用
2018/07/30 NodeJs
基于vue2的canvas时钟倒计时组件步骤解析
2018/11/05 Javascript
python基础教程之类class定义使用方法
2014/02/20 Python
Python多进程同步Lock、Semaphore、Event实例
2014/11/21 Python
Python去除列表中重复元素的方法
2015/03/20 Python
python条件变量之生产者与消费者操作实例分析
2017/03/22 Python
利用python微信库itchat实现微信自动回复功能
2017/05/18 Python
python图形界面开发之wxPython树控件使用方法详解
2020/02/24 Python
tensorflow 20:搭网络,导出模型,运行模型的实例
2020/05/26 Python
python有几个版本
2020/06/17 Python
Django后端按照日期查询的方法教程
2021/02/28 Python
如果Session Bean得Remove方法一直都不被调用会怎么样
2012/07/14 面试题
大学生通用个人自我评价
2014/04/27 职场文书
省级青年文明号申报材料
2014/05/23 职场文书
个人剖析材料及整改措施
2014/10/07 职场文书
街道务虚会发言材料
2014/10/20 职场文书
技术股东合作协议书
2014/12/02 职场文书
2015建军节87周年演讲稿
2015/03/19 职场文书
导游词之镇江西津古渡
2019/11/06 职场文书
Android开发之WECHAT微信小程序路由跳转的两种形式
2022/04/12 Java/Android