PyQt5之QSlider滑动条
QSlider控件提供了一个垂直或水平的滑动条,滑动条是一个用于控制有界值的典型控件,它允许用户沿水平或垂直方向在某一范围内移动滑块,并将滑块所在的位置转换成一个合法范围内的整数值。
一、QSlider类中的常用方法
方法 | 描述 |
---|---|
setMinimum() | 设置滑动条控件的最小值 |
setMaximum() | 设置滑动条控件的最大值 |
setSingleStep() | 设置滑动条控件递增/递减的步长值 |
setValue() | 设置滑动条控件的值 |
value() | 获取滑动条控件的值 |
setTickIntweval() | 设置刻度间隔 |
setTickPosition() | 设置刻度标记的位置,可以输入一个枚举值,这个枚举值指定刻度线相对于滑块和用户操作的位置。例如:QSlider.NoTicks(不会绘制任何刻度线)、QSliderTicksBothSides(在滑块的两侧绘制刻度线)、QSlider.TicksAbove(在水平滑块上方绘制刻度线)、QSlider.TicksBelow(在水平滑块下方绘制刻度线)、QSlider.TicksLeft(在垂直滑块左侧绘制刻度线)、QSlider.TicksRight(在垂直滑块右侧绘制刻度线) |
二、QSlider类中的常用信号
信号 | 描述 |
---|---|
valueChanged | 当滑块的值发生改变时发射该信号 |
sliderPressed | 当用户按下滑块时发射该信号 |
sliderMoved | 当用户拖动滑块时发射该信号 |
sliderReleased | 当用户释放滑块时发射该信号 |
三、QSlider的使用
import sys
from PyQt5.QtWidgets import *
from PyQt5.QtGui import *
from PyQt5.QtCore import *
class Win(QWidget):
def __init__(self):
super().__init__()
self.setGeometry(200, 200, 400, 400)
self.setWindowTitle('QSlider的使用')
self.lb1 = QLabel('Hello PyQt5')
self.lb1.setAlignment(Qt.AlignCenter)
self.s = QSlider(Qt.Horizontal)#水平方向
self.s.setMinimum(10)#设置最小值
self.s.setMaximum(50)#设置最大值
self.s.setSingleStep(3)#设置步长值
self.s.setValue(30)#设置当前值
self.s.setTickPosition(QSlider.TicksBelow)#设置刻度位置,在下方
self.s.setTickInterval(5)#设置刻度间隔
self.s.valueChanged.connect(self.valueChange)
layout = QVBoxLayout()
layout.addWidget(self.lb1)
layout.addWidget(self.s)
self.setLayout(layout)
def valueChange(self):
print("current slider value:"+str(self.s.value()))
size = self.s.value()
self.lb1.setFont(QFont("Arial",size))
if __name__ == "__main__":
app = QApplication(sys.argv)
form = Win()
form.show()
sys.exit(app.exec_())
运行结果如下: