PyQt5每天必学之进度条效果


Posted in Python onApril 19, 2018

进度条是,当我们处理冗长的任务时使用的控件。它是以动画的形式让用户知道该任务正在取得进展。该QProgressBar控件提供一个水平或垂直进度条。程序员可以设置进度条的最小值和最大值。默认值是0到99。

#!/usr/bin/python3
# -*- coding: utf-8 -*-

"""
PyQt5 教程

这个例子显示了一个进度条控件。

作者:我的世界你曾经来过
博客:http://blog.csdn.net/weiaitaowang
最后编辑:2016年8月3日
"""

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.timer.stop()
   self.btn.setText('完成')
   return
  self.step = self.step+1
  self.pbar.setValue(self.step)

 def doAction(self, value):

  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_())

在我们的例子,我们有一个水平进度条控件和一个按钮控件。点击按钮启动或停止进度条。

self.pbar = QProgressBar(self)

使用 QProgressBar 创建进度条

self.timer = QBasicTimer()

激活进度条,我们需使用一个计时器对象。

self.timer.start(100, self)

要启动定时器事件,我们需调用它的start()方法。这种方法有两个参数:超时和将接收的事件的对象。

def timerEvent(self, e):

  if self.step >= 100:
   self.timer.stop()
   self.btn.setText('完成')
   return
  self.step = self.step+1
  self.pbar.setValue(self.step)

每个继承自QObject 的对象都有一个timerEvent()事件处理程序。为了定时器事件作用到进度条,我们重写了这个事件处理程序。

def doAction(self, value):

  if self.timer.isActive():
   self.timer.stop()
   self.btn.setText('开始')
  else:
   self.timer.start(100, self)
   self.btn.setText('停止')

使用 doAction() 方法启动和停止计时器。

程序执行后

PyQt5每天必学之进度条效果PyQt5每天必学之进度条效果PyQt5每天必学之进度条效果

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python绘制并保存指定大小图像的方法
Jan 10 Python
在python中实现强制关闭线程的示例
Jan 22 Python
Python 使用 PyMysql、DBUtils 创建连接池提升性能
Aug 14 Python
Python 矩阵转置的几种方法小结
Dec 02 Python
Pytorch mask_select 函数的用法详解
Feb 18 Python
python实现梯度下降算法的实例详解
Aug 17 Python
自定义Django_rest_framework_jwt登陆错误返回的解决
Oct 18 Python
pycharm配置python 设置pip安装源为豆瓣源
Feb 05 Python
python模块内置属性概念及实例
Feb 18 Python
使用Python脚本对GiteePages进行一键部署的使用说明
May 27 Python
Python3的进程和线程你了解吗
Mar 16 Python
Python数据可视化之Seaborn的安装及使用
Apr 19 Python
python中实现将多个print输出合成一个数组
Apr 19 #Python
Python 数据处理库 pandas 入门教程基本操作
Apr 19 #Python
PyQt5实现下载进度条效果
Apr 19 #Python
解决python 输出是省略号的问题
Apr 19 #Python
python 多维切片之冒号和三个点的用法介绍
Apr 19 #Python
对Python中range()函数和list的比较
Apr 19 #Python
使用python读取txt文件的内容,并删除重复的行数方法
Apr 18 #Python
You might like
PHP静态类
2006/11/25 PHP
PHP MYSQL乱码问题,使用SET NAMES utf8校正
2009/11/30 PHP
ThinkPHP3.1的Widget新用法
2014/06/19 PHP
destoon安全设置中需要设置可写权限的目录及文件
2014/06/21 PHP
cakephp打印sql语句的方法
2015/02/13 PHP
PHP文件管理之实现网盘及压缩包的功能操作
2017/09/20 PHP
js和as的稳定传值问题解决
2013/07/14 Javascript
js实现表格字段排序
2014/02/19 Javascript
js图片处理示例代码
2014/05/12 Javascript
jQuery实现的Div窗口震动特效
2014/06/09 Javascript
jquery ajax双击div可直接修改div中的内容
2016/03/04 Javascript
JS控制文本域只读或可写属性的方法
2016/06/24 Javascript
jQuery实现带遮罩层效果的blockUI弹出层示例【附demo源码下载】
2016/09/14 Javascript
JS中用childNodes获取子元素换行会产生一个子元素
2016/12/08 Javascript
详解angular 中的自定义指令之详解API
2017/06/20 Javascript
详解jQuery中关于Ajax的几个常用的函数
2017/07/17 jQuery
json2.js 入门教程之使用方法与实例分析
2017/09/14 Javascript
详解webpack的proxyTable无效的解决方案
2018/06/15 Javascript
详解为生产环境编译Angular2应用的方法
2018/12/10 Javascript
JS通用方法触发点击事件代码实例
2020/02/17 Javascript
python中os模块详解
2016/10/14 Python
Python走楼梯问题解决方法示例
2018/07/25 Python
Pycharm 设置默认头的图文教程
2019/01/17 Python
python使用sessions模拟登录淘宝的方式
2019/08/16 Python
基于Python实现人脸自动戴口罩系统
2020/02/06 Python
Python greenlet和gevent使用代码示例解析
2020/04/01 Python
python各种excel写入方式的速度对比
2020/11/10 Python
捷克汽车配件和工具销售网站:TorriaCars
2018/02/26 全球购物
人事主管的岗位职责
2013/11/16 职场文书
麦当劳辞职信范文
2014/01/18 职场文书
美丽家庭事迹材料
2014/05/03 职场文书
环保公益策划方案
2014/08/15 职场文书
领导班子党的群众路线教育实践活动对照检查材料
2014/09/25 职场文书
开展党的群众路线教育实践活动个人对照检查材料
2014/11/05 职场文书
财务出纳岗位职责
2015/03/31 职场文书
社区结对共建协议书
2016/03/23 职场文书