QSlider滑块控件,用于控制值在一定范围变化,可以将QSlider控件的valueChanged事件与一个方法用来监听滑快移动的动作。还可以使用setMininmum方法和setMaximum方法设置滑块可以变化的最小值和最大值。 from PyQt5.QtWidgets import (QWidget,QSlider,QLabel,QApplication) from PyQt5.QtCore import Qt import sys class Slider(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): sld =QSlider(Qt.Horizontal,self) sld.setMinimum(10) sld.setMaximum(500) sld.setGeometry(30,40,100,30) sld.valueChanged[int].connect(self.changeValue) self.label =QLabel(self) self.label.setGeometry(160,40,80,30) self.setGeometry(300,300,280,170) self.setWindowTitle('QSlider控件') self.show() def changeValue(self,value): self.label.setText(str(value)) if __name__ == '__main__': app =QApplication(sys.argv) ex = Slider() sys.exit(app.exec_()) QProgressBar控件,是进度条控件,效果与QSlider控件类似,只是没有滑块,要想改变QProgressBar控件的当前值,需要通过QProgressBar控件的setValue方法设置。 默认最大值100 默认最小值0 定时器100ms更新一次QProgressBar的值。 from PyQt5.QtWidgets import (QWidget,QProgressBar,QPushButton,QApplication) from PyQt5.QtCore import QBasicTimer import sys class ProgressBar(QWidget): def __init__(self): super().__init__() self.initUI() def initUI(self): self.pbar = QProgressBar(self) self.pbar.setGeometry(40,40,200,25) self.btn =QPushButton('开始',self) self.btn.move(40,80) self.btn.clicked.connect(self.doAction) # 创建定时器对象 self.timer =QBasicTimer() self.value =0 self.setGeometry(300,300,280,170) self.setWindowTitle('QProgressBar控件') self.show() def timerEvent(self, e): if self.value >= 100: self.timer.stop() self.btn.setText('完成') return self.value =self.valu+1 self.pbar.setValue(self.value) def doAction(self): if self.timer.isActive(): self.timer.stop() self.btn.setText("开始") else: self.timer.start(1000,self) self.btn.setText("停止") if __name__ == '__main__': app =QApplication(sys.argv) ex =ProgressBar() sys.exit(app.exec_()) ---------------------------------------------------------------------------------------------------------------------- 我们尊重原创,也注重分享,文章来源于微信公众号:单片机软件开发,建议关注公众号查看原文。如若侵权请联系qter@qter.org。 ---------------------------------------------------------------------------------------------------------------------- |