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

  运行结果如下:

 这个是我pyqt5的github集合里面的一个,本人积累的pyqt5的例子都在里面,有需要的请查看:

https://github.com/DyLanCao/pyqt5_example.git

 还有一个问题备忘:

1 默认的最大个数怎么修改:

  self.pbar = QProcessBar(self)

  self.pbar.setMaximum(100)

最新文章

  1. 将speedbutton放在toolbar上,flat设为true,并将speedbutton的width和height设得比较大,在speedbutton中间会出现一条竖线,如何消去?
  2. 9.7 js进阶总结2
  3. cannot find module 'xml2js'
  4. 20145301&20145321&20145335实验三
  5. sqlite建表语句(特别是外键问题)
  6. 【ZOJ】1015 Fishing Net
  7. Android 启动过程总结
  8. Qt之界面出现、消失动画效果
  9. 在Node.js中使用RabbitMQ系列一 Hello world
  10. Hibernate——hibernate的配置测试
  11. 修改LINUX的时区。
  12. centos7重置root密码
  13. ehcarts 四川地图
  14. vscode和gitee的使用
  15. cmd Telnet 手工模拟http请求
  16. java读大文件最快性能【转】
  17. cmus 命令行播放器使用
  18. C 500uS状态机架构
  19. PHP缓存锁原理及利用
  20. aips初步设想

热门文章

  1. 错误:MSSQLSERVER 17058
  2. SpringBoot项目中如何异步执行一个方法
  3. unity_实用小技巧(避免游戏对象被销毁时声音消失)
  4. 互联网从此没有 BAT
  5. Java Builder 模式,你搞明白了么?
  6. ElasticSearch专栏
  7. 【Leetcode】【简单】【136. 只出现一次的数字】【JavaScript】
  8. NLP(十一) 提取文本摘要
  9. HZNU 2019 Summer training 6 -CodeForces - 622
  10. js中的所有兼容问题总结