外观
Checkbox(复选框)
ui.Checkbox 创建一个带标签、切换 *bool 的复选框:点击方框或其标签会 勾选或取消勾选,在它拥有键盘焦点时按空格也一样,Changed 上报一次点击。
go
ui.Checkbox(c, &app.settings.Sync, "Sync across devices")
if ui.Checkbox(c, &app.showHidden, "Show hidden files").Changed() {
app.reload()
}复选框在用户点击的那一刻自己改变值:读取它,或询问 Changed 以执行随之 而来的工作。
分组
ui.CheckboxGroup 在其内部构建的各复选框之上创建一个复选框,各复选框缩进 于其下方,就像一个权限列表:当它们全部勾选时它被勾选,部分勾选时呈半选状态; 点击它(或在它拥有焦点时按空格)会勾选全部,若已全部勾选则全部取消。 Changed 上报一次点击。
go
ui.CheckboxGroup(c, "Notifications", func() {
ui.Checkbox(c, &app.mail, "Mail")
ui.Checkbox(c, &app.calendar, "Calendar")
ui.Checkbox(c, &app.messages, "Messages")
})无外观
ui.CheckboxBase 是一个没有外观的复选框:一个在被点击时切换其 *bool 的 行,由你根据值来绘制:参见自定义控件。
无障碍
辅助技术看到的是一个由其标签命名、已勾选或未勾选的复选框,它可以像点击 一样切换它。复选框组是一个复选框,部分勾选时呈半选状态,同时是其余复选框 的、由其标签命名的组。