本文共 1757 字,大约阅读时间需要 5 分钟。
QSlider控件提供了一个垂直或水平的滑动条,滑动条是一个用于控制有界值的典型控件,它允许用户沿水平或垂直方向在某一范围内移动滑块,并将滑块所在的位置转换成一个合法范围内的整数值。
方法 | 描述 |
---|---|
setMinimum() | 设置滑动条控件的最小值 |
setMaximum() | 设置滑动条控件的最大值 |
setSingleStep() | 设置滑动条控件递增/递减的步长值 |
setValue() | 设置滑动条控件的值 |
value() | 获取滑动条控件的值 |
setTickIntweval() | 设置刻度间隔 |
setTickPosition() | 设置刻度标记的位置,可以输入一个枚举值,这个枚举值指定刻度线相对于滑块和用户操作的位置。例如:QSlider.NoTicks(不会绘制任何刻度线)、QSliderTicksBothSides(在滑块的两侧绘制刻度线)、QSlider.TicksAbove(在水平滑块上方绘制刻度线)、QSlider.TicksBelow(在水平滑块下方绘制刻度线)、QSlider.TicksLeft(在垂直滑块左侧绘制刻度线)、QSlider.TicksRight(在垂直滑块右侧绘制刻度线) |
信号 | 描述 |
---|---|
valueChanged | 当滑块的值发生改变时发射该信号 |
sliderPressed | 当用户按下滑块时发射该信号 |
sliderMoved | 当用户拖动滑块时发射该信号 |
sliderReleased | 当用户释放滑块时发射该信号 |
import sysfrom 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_())
运行结果如下:
转载地址:http://svozi.baihongyu.com/