PyQt5 系统化学习: 滑动条

11 QSlider(滑动条)

《PyQt5快速开发与实战》学习笔记。

QSlider 控件提供了一个垂直或水平的滑动条,滑动条是一个用于控制有界值的典型控件,它允许用户沿水平或垂直方向在某一范围内移动滑块,并将滑块所在的位置转换成一个合法范围内的整数值。有时候这种方式比输入数字或者使用 SpinBox (计数器)更加自然。在 slot 函数中对滑块所在位置的处理相当于从整数之间的最小值和最高值进行取值。

一个滑块条控件可以以水平或垂直的方式显示,在构造函数中进行设置。

self.sp=QSlider(Qt.Horizontal) 
self.sp=QSlider(Qt.Vertical) 

QSlider 类中的常用方法:

QSlider 类中的常用信号:

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

你可能感兴趣的:(PyQt5 系统化学习: 滑动条)