选择器:
spinbox· 设计器组件: 数值微调框 · 按名称:spinbox#名称或#名称
支持库: 组件类库 → 数值微调框类 · 补全:szwtk/spinbox/wtk
紧凑数值框:左侧显示当前数值(可带前缀/后缀/千分位/显示格式/特殊值文本),右侧 ▲/▼ 按步长增减。支持小数、负数、循环、滚轮与键盘上下键。
字段映射
| 属性(中文) | YSS / 英文 | 说明 |
|---|---|---|
| 值 / 当前值 | value / current-value |
小数(与小数位数一致) |
| 最小值 | min / minimum |
小数 |
| 最大值 | max / maximum |
小数 |
| 步长 | step |
小数(如 0.01) |
| 小数位数 | decimals |
0–6,0=整数 |
| 可编辑 | editable |
允许键入 |
| 循环 | wrapping |
到端后继续步进绕回 |
| 千分位 | thousands |
非编辑态显示 1,234.56;编辑态仍为纯数字 |
| 显示格式 | display-format |
整数 0–5,见下表 |
| 前缀 | prefix |
数值前文本(如 ¥) |
| 后缀 | suffix |
数值后文本(如 元) |
| 特殊值文本 | special-value-text |
值为最小值且未编辑时显示 |
兼容:旧属性 前后缀 / prefix-suffix: "前|后" 仍可读;旧自由文本「显示格式」会尽量映射到整数码。
属性、置值/取值、事件参数一律按真实小数读写。
显示格式(整数)
| 码 | 含义 |
|---|---|
| 0 | 默认:前缀 + 数值 + 后缀 |
| 1 | 仅数值 |
| 2 | 前缀 + 数值 |
| 3 | 数值 + 后缀 |
| 4 | 前缀 + 数值 + 后缀(显式) |
| 5 | (前缀 + 数值 + 后缀) |
属性面板为下拉框;代码侧写整数即可:数值微调框1.显示格式 = 1。
设置前缀/后缀时,若当前格式会隐藏它们(如 1=仅数值),会自动抬升到兼容码(有前缀→2,有后缀→3,两者都有→0),避免设置冲突。
方法(续)
| 方法 | 说明 |
|---|---|
| 置范围 / 取最小值 / 取最大值 | 小数范围 |
| 置步长 / 取步长 | 步进 |
| 置前缀 / 取前缀 / 置后缀 / 取后缀 | 显示前后缀(会联动显示格式) |
YSS 示例
spinbox#价格 {
decimals: 2;
value: 1234.50;
min: 0;
max: 999999.99;
step: 0.01;
prefix: "¥";
suffix: "";
special-value-text: "自动";
wrapping: true;
thousands: true;
display-format: 2;
editable: true;
}
代码 API
数值微调框1.置值(12.5)
小数 v = 数值微调框1.取值()
数值微调框1.置小数位数(2)
整数 d = 数值微调框1.取小数位数()
数值微调框1.显示格式 = 1
数值微调框1.置显示格式(2)
整数 f = 数值微调框1.取显示格式()
| 方法 | 签名 | 说明 |
|---|---|---|
| 置值 | 置值(小数 数值) |
设置当前值(会先发「值将改变」,可被取消) |
| 取值 | 取值() → 小数 |
读取当前值 |
| 置小数位数 | 置小数位数(整数 位数) |
0–6;换算现有定点字段 |
| 取小数位数 | 取小数位数() → 整数 |
当前小数位数 |
| 置显示格式 | 置显示格式(整数 格式) |
0–5,见上表 |
| 取显示格式 | 取显示格式() → 整数 |
当前显示格式码 |
事件
| 事件 | 参数 | 何时触发 |
|---|---|---|
| 值将改变 | 小数 当前值, 整数 来源 |
即将写入新值;事件内 取消() 可拦截 |
| 值改变 | 小数 当前值, 整数 来源 |
实际改值成功后 |
| 编辑开始 | 小数 当前值, 整数 来源 |
开始键入时 |
| 编辑结束 | 小数 当前值, 整数 来源 |
回车/失焦提交(仅真正进入过编辑时) |
| 越界 | 小数 输入值, 整数 方向 |
键入超出范围:先本事件,再夹紧 |
来源枚举
| 值 | 含义 |
|---|---|
| 0 | 程序(置值/属性) |
| 1 | 按钮 ▲/▼ |
| 2 | 滚轮 |
| 3 | 键盘 ↑/↓ |
| 4 | 编辑提交 |
数值微调框1.值将改变(小数 当前值, 整数 来源)
{
如果 (当前值 > 100)
取消() // 拦截本次改值
}
数值微调框1.值改变(小数 当前值, 整数 来源)
{
输出("值=", 当前值, " 来源=", 来源)
}
取消() / 取消事件():仅在当前可取消事件(如「值将改变」)处理中有效。
交互说明
- ▲/▼ / 滚轮 / ↑↓:按步长增减;开启「循环」时到端绕回;均走「值将改变」→「值改变」。步进时保持前缀/后缀/千分位等显示态。
- 可编辑:单击数值区只聚焦(仍显示前缀/后缀);开始键入后进入编辑缓冲(纯数字);回车或失焦提交。清空后失焦还原为原值。
- 千分位:仅非编辑态、且整数部分绝对值 ≥ 1000 时显示逗号(如
1,234.56)。 - 特殊值文本:当前值等于最小值且未编辑时显示该文案(如最小值
0、文案自动);编辑时可键入该文案以置为最小。 - 小数位数:0–6(0=整数)。改位数后值/最小/最大/步长会按比例换算。
- 程序置值:
置值/.值/.当前值只钳制 min…max,不按步长吸附;▲▼ / 滚轮 / ↑↓ 仍按步长。
支持库面板与补全
| 名称 | 简拼示例 | 说明 |
|---|---|---|
| 数值微调框 / 数值微调框类 | szwtk / szwtkkl |
类型与类名 |
| 置值 / 取值 | zz / qz |
小数读写 |
| 置小数位数 / 小数位数 | zxsws / xsws |
0–6 |
| 置显示格式 / 显示格式 | zxsg / xsgs |
0–5 |
| 值将改变 / 值改变 | zjgb / 自动全拼 |
事件;将改变可 取消() |
| 编辑开始 / 编辑结束 / 越界 | bjks / bjjs / yj |
事件 |
编辑器补全:全拼 / 简拼 / 双拼前缀 + 上表别名。支持库路径:组件类库 → 数值微调框类。