本期GUI界面,咱们继续学习新的控件Qprogressbar。
python
知识回顾web
1.滑动控件qslider编程
控件设置的关键:设置最大值、最小值,绝对范围。ruby
2.核心类库QtCore,枚举类Qt微信
核心枚举类的使用,能够帮助咱们对代码的理解。
app
1、进度条的使用思想
ide
进度条qprogressbar布局
使用思想:学习
1.载入类库spa
2.初始化类对象
3.设置最小值和最大值
4.时钟的使用QBasicTimer,槽方法对应类库的timerEvent
5.判断何时中止加载进度条
2、制做案例
说明以下:
1.界面由进度条和按钮组成
2.进度条的值范围为0~100
3.按钮的状态为“开始”、“中止”、“完成”
4..按钮须要可以控制进度条的运行
3、开发过程知识点介绍
1.导入时钟类
from PyQt5.QtCore import QBasicTimer
2.初始化进度条
self.pgb=QProgressBar(self) 类对象的初始化
self.pgb.move(50,50) 将进度条移动到指定位置
self.pgb.resize(300,20) 设置进度条宽高
3.设置进度条的范围
#设置进度条的范围
self.pgb.setMinimum(0)
self.pgb.setMaximum(100)
self.pgb.setValue(50) 设置当前进度
4.时钟控件
做用:每隔多少时间执行一次时钟内部的代码。
时间单位为:毫秒
1秒=1000毫秒
QBasicTimer控件解析
isActive方法:返回时钟控件是否开启。若是开启返回true,不然为false
Start方法:使得时钟控件开启来。须要传入时间间隔,时间单位为毫秒。
简单的参数使用格式:
Start(时间,self)
Stop方法:使得时钟控件关闭。
timerId方法:返回当前时钟控件的ID,表示某个时钟控件。这个主要用于多个时钟控件使用的时候,区分不一样的时钟控件。
5.时钟控件的事件重写
时钟控件状态切换的核心代码:
if self.timer1.isActive(): 检测是否开启
self.timer1.stop()
self.btn.setText(“开始”) 这里的按钮的状态显示的是下一次的行为
else:
self.timer1.start(100, self)
self.btn.setText("中止")
4、总结强调
1.掌握Qprogressbar的控件的配置
2.掌握时钟控件的基本使用QBasicTimer
3.理解按钮控制时钟控件达到进度条的运行的思想。
本节知识源代码:
import sysfrom PyQt5.QtWidgets import QApplication,QWidget,QPushButton,QProgressBarfrom PyQt5.QtCore import QBasicTimer
class MyClass(QWidget): def __init__(self): super(MyClass, self).__init__() self.initUI() def initUI(self): self.setWindowTitle("刘金玉编程") self.setGeometry(300,100,400,300) #载入进度条控件 self.pgb=QProgressBar(self) self.pgb.move(50,50) self.pgb.resize(300,20)
#配置一个值表示进度条的当前进度 self.pv=0
#申明一个时钟控件 self.timer1=QBasicTimer()
#设置进度条的范围 self.pgb.setMinimum(0) self.pgb.setMaximum(100) self.pgb.setValue(self.pv) #载入按钮 self.btn=QPushButton("开始",self) self.btn.move(50,100) self.btn.clicked.connect(self.myTimerState) self.show()
def myTimerState(self): if self.timer1.isActive(): self.timer1.stop() self.btn.setText("开始") else: self.timer1.start(100, self) self.btn.setText("中止")
def timerEvent(self,e): if self.pv==100: self.timer1.stop() self.btn.setText("完成") else: self.pv+=1 self.pgb.setValue(self.pv)
if __name__=="__main__": app=QApplication(sys.argv) mc=MyClass() app.exec_()
长按关注公众号
相关文章:
本文分享自微信公众号 - 编程创造城市(bcczcs)。
若有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一块儿分享。