Add 03-09-01-02

QAbstractSlider-数值范围、步长、值
This commit is contained in:
muzing 2022-07-24 21:43:23 +08:00
parent a629cc92b8
commit 1eba58891b

View File

@ -0,0 +1,71 @@
import sys
from PySide6 import QtCore, QtWidgets
"""
QAbstractSlider 数值范围步长
可以通过如下方法限制滑块的最大/小值页步长使用PageUp/PageDown键盘按键控制输入时每次按键变化的值
单步长使用键盘方向键每次按下移动的值设置滑块当前值与获取滑块当前值
.setMaximum(max: int) 设置最大值默认为99
.maximum() -> int 获取当前设置的最大值
.setMinimum(mini: int) 设置最小值默认为0
.minimum() -> int 获取当前设置的最小值
.setPageStep(step: int) 设置页步长默认为10
.pageStep() -> int 获取当前设置的页步长
.setSingleStep(step: int) 设置单步长默认值为1
.singleStep() -> int 获取当前设置的单步长
.setValue(value: int) 通过编程方式设置滑块当前值若超出范围则取极限值
.value() -> int 获取滑块当前值
"""
class MyWidget(QtWidgets.QWidget):
def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.setWindowTitle("QAbstractSlider-功能测试")
self.resize(800, 600)
self.setup_ui()
self.test()
def setup_ui(self) -> None:
"""设置界面"""
self.slider = QtWidgets.QSlider(self)
self.slider.move(200, 200)
info_label = QtWidgets.QLabel(self)
info_label.move(240, 200)
@QtCore.Slot(int)
def show_value(value: int):
info_label.setText(f"滑块的值变成了{value}")
info_label.adjustSize()
self.slider.valueChanged.connect(show_value) # type: ignore
def test(self) -> None:
"""测试滑块数值范围、步长、值功能"""
# 数值范围
self.slider.setMaximum(200)
self.slider.setMinimum(20)
# 步长通过键盘方向键、PageUp/PageDown测试
self.slider.setSingleStep(5) # 设置单步长
self.slider.setPageStep(20) # 设置页步长
# 设置滑块当前值
self.slider.setValue(100)
# self.slider.setValue(1000) # 超过最大值限制实际设置为最大值200
print(self.slider.value())
if __name__ == "__main__":
app = QtWidgets.QApplication(sys.argv)
window = MyWidget()
window.show()
sys.exit(app.exec())