PYQT5(10)-基本窗口控件-滑动条QSlider

QSlider控件提供了一个垂直或水平的滑动条,它允许用户沿水平或垂直方向在某一范围内移动滑块,并将滑块所在的位置转换成一个合法范围内的整数值。

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

常用方法

setMinimum() 设置滑动条控件的最小值
setMaximum() 设置滑动条控件的最大值
setSingleStep() 设置滑动条控件递增/递减的步长值
setValue() 设置滑动条控件的值
value() 获得滑动条控件的值
setTickInterval() 设置刻度间隔
setTickPosition()

设置刻度标记的位置,可以输入一个枚举值,这个枚举值指定刻度线相对于滑块和用户操作的位置。以下是可以输入的枚举值:

QSlider.NoTicks,不绘制任何刻度线
QSlider.TicksBothSides,在滑块的两侧绘制刻度线
QSlider.TicksAbove,在(水平)滑块上方绘制刻度线
QSlider.TicksBelow,在(水平)滑块下方绘制刻度线
QSlider.TicksLeft,在(垂直)滑块左侧绘制刻度线
QSlider.TicksRight,在(垂直)措块右侧绘制刻度线

常用信号

valueChanged 当滑块的值发生改变时发射此信号,此信号是最常用的
sliderPressed 当用户按下滑块时发射此信号
sliderMoved 当用户拖动滑块时发射此信号
sliderReleased 当用户释放滑块时发射此信号

代码例子

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("RGB")
        self.l1.setAlignment(Qt.AlignCenter)
        layout.addWidget(self.l1)
        # 水平方向
        self.sl = QSlider(Qt.Horizontal)
        # 设置最小值
        self.sl.setMinimum(0)
        # 设置最大值
        self.sl.setMaximum(255)
        # 步长
        self.sl.setSingleStep(1)
        # 设置当前值
        self.sl.setValue(0)
        # 刻度位置,刻度在下方
        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(10)-基本窗口控件-滑动条QSlider

 

上一篇:多表联查时的条件筛选


下一篇:1对1直播源码实现录音和播放