输入控件¶
概述¶
输入控件提供二值状态(开/关、选中/未选中)的交互能力。Switch 是滑动开关,Checkbox 是复选框,RadioButton 是单选按钮(配合 RadioGroup 实现互斥选择),ToggleButton 是带文本的切换按钮。
Switch¶
滑动开关控件,支持开/关两种状态,带平滑过渡动画。
效果展示¶
API¶
函数 |
说明 |
|---|---|
|
初始化 Switch |
|
使用参数初始化 |
|
设置开关状态 |
|
设置状态变化回调 |
参数宏¶
EGUI_VIEW_SWITCH_PARAMS_INIT(name, x, y, w, h, is_checked);
回调原型¶
typedef void (*egui_view_on_checked_listener_t)(egui_view_t *self, int is_checked);
代码示例¶
static egui_view_switch_t sw;
EGUI_VIEW_SWITCH_PARAMS_INIT(sw_params, 0, 0, 96, 38, 0);
static void on_checked(egui_view_t *self, int is_checked)
{
EGUI_LOG_INF("Switch checked: %d\n", is_checked);
}
void init_ui(egui_core_t *core)
{
egui_view_switch_init_with_params(EGUI_VIEW_OF(&sw), core, &sw_params);
egui_view_switch_set_on_checked_listener(EGUI_VIEW_OF(&sw), on_checked);
egui_view_set_margin_all(EGUI_VIEW_OF(&sw), 6);
egui_core_add_user_root_view(core, EGUI_VIEW_OF(&sw));
}
Checkbox¶
复选框控件,支持选中/未选中状态,可附带文本标签。
效果展示¶
API¶
函数 |
说明 |
|---|---|
|
初始化 Checkbox |
|
使用参数初始化 |
|
设置选中状态 |
|
设置状态变化回调 |
|
设置文本标签 |
|
设置字体 |
|
设置文本颜色 |
参数宏¶
// 无文本
EGUI_VIEW_CHECKBOX_PARAMS_INIT(name, x, y, w, h, is_checked);
// 带文本
EGUI_VIEW_CHECKBOX_PARAMS_INIT_WITH_TEXT(name, x, y, w, h, is_checked, text);
代码示例¶
static egui_view_checkbox_t checkbox;
EGUI_VIEW_CHECKBOX_PARAMS_INIT_WITH_TEXT(cb_params, 0, 0, 180, 42, 0, "Checkbox M");
static void on_checked(egui_view_t *self, int is_checked)
{
EGUI_LOG_INF("Checkbox checked: %d\n", is_checked);
}
void init_ui(egui_core_t *core)
{
egui_view_checkbox_init_with_params(EGUI_VIEW_OF(&checkbox), core, &cb_params);
egui_view_checkbox_set_on_checked_listener(EGUI_VIEW_OF(&checkbox), on_checked);
egui_view_set_margin_all(EGUI_VIEW_OF(&checkbox), 6);
egui_core_add_user_root_view(core, EGUI_VIEW_OF(&checkbox));
}