QSlider控件的作用
QSlider 控件提供了一个垂直或水平的滑动条,滑动条是一个用于控制有界值的典型控件,它允许用户沿水平或垂直方向在某一范围内移动滑块,并将滑块所在的位置转换成一个合法范围内的整数值。
创建水平显示的滑动条
self.sp = Qslider(Qt.Horizontal)
创建垂直显示的滑动条
self.sp = Qslider(Qt.Vertical)
QSlider控件常用方法
QSlider控件常用信号
代码示例
# -*- coding: utf-8 -*- import sys from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * class SliderDemo(QWidget): def __init__(self, parent=None): super(SliderDemo, self).__init__(parent) self.setWindowTitle("QSlider 示例") self.resize(300, 100) layout = QVBoxLayout() self.l1 = QLabel("Hello PyQt5") self.l1.setAlignment(Qt.AlignCenter) layout.addWidget(self.l1) # 水平方向 self.sl = QSlider(Qt.Horizontal) #设置最小值 self.sl.setMinimum(10) #设置最大值 self.sl.setMaximum(50) # 步长 self.sl.setSingleStep(3) # 设置当前值 self.sl.setValue(20) # 刻度位置,刻度在下方 self.sl.setTickPosition(QSlider.TicksBelow) # 设置刻度间隔 self.sl.setTickInterval(5) layout.addWidget(self.sl) # 连接信号槽 self.sl.valueChanged.connect(self.valuechange) self.setLayout(layout) def valuechange(self): print('current slider value=%s' % self.sl.value() ) size = self.sl.value() # 改变标签字体大小至滑动条对应值 self.l1.setFont(QFont("Arial",size)) if __name__ == '__main__': app = QApplication(sys.argv) demo = SliderDemo() demo.show() sys.exit(app.exec_())
代码运行结果:
拖动滑动条结果: