跳转至

Slider 滑块

通过拖动滑块在一个固定区间内选值。自带数值显示和拖动气泡提示。

基础用法

滑块预览

from PySide6.QtCore import Qt
from monkeyqt import MkSlider

# 水平滑块
slider = MkSlider(Qt.Horizontal)
slider.setRange(0, 100)
slider.setValue(50)

# 监听值变化slider.valueChanged.connect(lambda val: print(f"当前值: {val}"))

垂直滑块

slider_v = MkSlider(Qt.Vertical)
slider_v.setRange(0, 100)
slider_v.setValue(30)

自定义数值格式化

使用 set_formatter 方法自定义数值显示格式:

slider = MkSlider(Qt.Horizontal)
slider.setRange(0, 100)
slider.setValue(25)

# 显示为百分比
slider.set_formatter(lambda v: f"{v}%")

# 显示为小数slider.set_formatter(lambda v: f"{v / 100:.2f}")

隐藏数值标签 &

slider = MkSlider(Qt.Horizontal)
slider.show_value = False  # 隐藏左侧数值标签```

## 设置步长

```python
slider = MkSlider(Qt.Horizontal)
slider.setRange(0, 100)
slider.setSingleStep(10)  # 每次滑动 10

API

构造函数 &

MkSlider(orientation=Qt.Horizontal, parent=None)
参数 类型 默认值 说明
orientation Qt.Orientation Qt.Horizontal 方向:Qt.Horizontal 方向:: Qt.Vertical
parent QWidget None 父组件

Signals

信号 参数 说明
valueChanged int 值变化时触发

Properties

属性 类型 说明
show_value bool 是否显示数值标签

方法

方法 说明
setRange(min, max) 设置滑块的最小值和最大值
setValue(val) 设置当前值
value() 获取当前值
setSingleStep(step) 设置单步步长
set_formatter(func) 设置数值格式化函数,参数为 int -> str 的回