滑块组件 (SliderField)
滑块组件用于在一个固定区间内选择一个值。
基本用法
python
gui_config.add_argument(
"--slider",
metavar="滑块组件",
help="拖动滑块选择值",
default=50,
widget="SliderField",
gooey_options={
"min": 0, # 最小值
"max": 100, # 最大值
"step": 1, # 步长
"showInput": True, # 是否显示输入框
"showStops": False, # 是否显示间断点
"showTooltip": True, # 是否显示提示
"range": False, # 是否为范围选择
"vertical": False, # 是否垂直模式
"height": "200px", # 高度
"marks": {0: "0%", 25: "25%", 50: "50%", 75: "75%", 100: "100%"}, # 标记点
"disabled": False, # 是否禁用
"size": "large"
}
)
属性
属性名 | 说明 | 类型 | 默认值 |
---|---|---|---|
min | 最小值 | number | 0 |
max | 最大值 | number | 100 |
step | 步长 | number | 1 |
showInput | 是否显示输入框 | boolean | true |
showStops | 是否显示间断点 | boolean | false |
showTooltip | 是否显示提示 | boolean | true |
range | 是否为范围选择 | boolean | false |
vertical | 是否垂直模式 | boolean | false |
height | 高度(垂直模式时) | string | - |
marks | 标记点 | object | - |
disabled | 是否禁用 | boolean | false |
size | 滑块大小 | string | 'default' |
范围选择
设置 range
为 true
时,滑块变为范围选择模式,可以同时选择起始值和结束值:
python
gui_config.add_argument(
"--price_range",
metavar="价格范围",
help="选择价格范围",
default=[20, 80], # 注意:范围选择时默认值为数组
widget="SliderField",
nargs="+", # 接收多个值
gooey_options={
"min": 0,
"max": 100,
"step": 5,
"range": True, # 开启范围选择
"marks": {0: "0元", 25: "25元", 50: "50元", 75: "75元", 100: "100元"}
}
)
标记点
通过 marks
属性可以在滑块上设置标记点,帮助用户理解值的含义:
python
marks = {
0: "无",
25: "低",
50: "中",
75: "高",
100: "极高"
}
垂直滑块
设置 vertical
为 true
时,滑块变为垂直显示模式:
python
gui_config.add_argument(
"--volume",
metavar="音量控制",
help="调节音量大小",
default=30,
widget="SliderField",
gooey_options={
"min": 0,
"max": 100,
"vertical": True, # 垂直模式
"height": "200px", # 高度
"showInput": False
}
)
使用场景
滑块组件适用于在连续区间内选择数值的场景,例如:
- 音量控制
- 亮度调节
- 透明度设置
- 数量调节
- 百分比设置
- 范围筛选
最佳实践
- 在滑块两端显示最小值和最大值,帮助用户理解范围
- 对于大范围的值,可以使用较大的步长简化选择
- 使用标记点(marks)提供视觉参考,帮助用户理解值的含义
- 对于精确输入,启用
showInput
选项,允许用户直接输入值 - 对于范围选择,确保同时设置
range: true
和nargs: "+"