046 Rating
评分。
用途
以星形显示和设置评分,支持半星等步长、只读展示和数值说明。
最小示例
stars := 3.5
view := func(c *ui.Context) {
core.Use(c, core.Settings{})
input.Rating(c, &stars, input.RatingOptions{Step: 0.5, ShowValue: true})
}
ui.Render(view, 400, 300, 1)参数
| 字段 | 类型 | 默认值 | 含义 |
|---|---|---|---|
value | *float64 | 必填 | 评分,0 到 Max。 |
Max | int | 5 | 星数;负数 panic。 |
Step | float64 | 1 | 最小变化量,须整除 1(如 0.5、0.25);否则 panic。 |
ReadOnly | bool | false | 只显示,可聚焦以便读出数值。 |
Disabled | bool | false | 禁用。 |
Label | string | 内置“Rating/评分” | 无障碍名称。 |
ShowValue | bool | false | 在星形右侧显示“3.5 / 5”。 |
状态
默认、悬停(预览指针处的数值)、按下拖动、聚焦(焦点环)、只读、禁用。
事件
ChoiceResult.Changed() 用户设置了新值;同值点击不触发。
键盘操作
→/↑ 增加一个步长,←/↓ 减少,Home 清零,End 满分。
限制
- 屏幕阅读器以滑块角色读出名称,数值通过说明“3.5 of 5”提供;MyGo 未公开为自定义元素设置数值范围的接口。

