PySide.QtGuiQSlider()属性详解
PySide.QtGui.QSlider是一个具有滑动条的控件,用于选择一个具有范围的值。它可以水平或垂直显示,并且可以设置最小值、最大值、步长和初始值。
属性:
1. minimum:最小值,类型为int,默认值为0。可以通过setMinimum()方法修改。
示例:
slider = QSlider() slider.setMinimum(10) print(slider.minimum()) # 输出:10
2. maximum:最大值,类型为int,默认值为99。可以通过setMaximum()方法修改。
示例:
slider = QSlider() slider.setMaximum(100) print(slider.maximum()) # 输出:100
3. value:当前值,类型为int,默认值为0。可以通过setValue()方法修改。
示例:
slider = QSlider() slider.setValue(50) print(slider.value()) # 输出:50
4. singleStep:单步递增/递减值,类型为int,默认值为1。可以通过setSingleStep()方法修改。
示例:
slider = QSlider() slider.setSingleStep(5) print(slider.singleStep()) # 输出:5
5. sliderPosition:滑块当前位置,类型为int,默认值为0。可以通过setSliderPosition()方法修改。
示例:
slider = QSlider() slider.setSliderPosition(30) print(slider.sliderPosition()) # 输出:30
6. orientation:滑动条的方向,类型为Qt.Orientation枚举,默认值为Qt.Horizontal。可以通过setOrientation()方法修改。
示例:
slider = QSlider() slider.setOrientation(Qt.Vertical) print(slider.orientation()) # 输出:Qt.Vertical
7. invertedAppearance:控制滑块的外观是否翻转,类型为bool,默认值为False。可以通过setInvertedAppearance()方法修改。
示例:
slider = QSlider() slider.setInvertedAppearance(True) print(slider.invertedAppearance()) # 输出:True
8. invertedControls:控制滑块的控制操作是否翻转,类型为bool,默认值为False。可以通过setInvertedControls()方法修改。
示例:
slider = QSlider() slider.setInvertedControls(True) print(slider.invertedControls()) # 输出:True
9. tickInterval:设置刻度间隔,类型为int,默认值为0(没有刻度)。
示例:
slider = QSlider() slider.setTickInterval(10) print(slider.tickInterval()) # 输出:10
10. tickPosition:设置刻度的位置,类型为QSlider.TickPosition枚举,默认值为QSlider.NoTicks(没有刻度)。可以通过setTickPosition()方法修改。
示例:
slider = QSlider() slider.setTickPosition(QSlider.TicksBothSides) print(slider.tickPosition()) # 输出:QSlider.TicksBothSides
使用例子:
下面是一个使用QSlider的例子,创建了一个具有范围从0到100的水平滑动条,并且可以显示刻度。
from PySide.QtGui import QApplication, QMainWindow, QSlider, QLabel, QVBoxLayout, QWidget, QSlider, QGridLayout
from PySide.QtCore import Qt
app = QApplication([])
window = QMainWindow()
widget = QWidget()
layout = QVBoxLayout()
slider = QSlider()
slider.setRange(0, 100)
slider.setOrientation(Qt.Horizontal)
label = QLabel('Value: 0')
def update_value(value):
label.setText(f'Value: {value}')
slider.valueChanged.connect(update_value)
layout.addWidget(slider)
layout.addWidget(label)
widget.setLayout(layout)
window.setCentralWidget(widget)
window.show()
app.exec_()
这个例子创建了一个滑动条和一个标签,滑动条的范围从0到100,初始值为0。当滑动条的值改变时,标签的内容也会跟着改变。
