模块 segui
require "segui"
模块函数
| API | 实现 | 说明 |
|---|---|---|
segui.new | new | 创建 GUI 应用:segui.new{title=…, width=…, height=…},返回 app |
App 方法(app:xxx)
| API | 实现 | 说明 |
|---|---|---|
app:set_title | l_set_title | 设置窗口标题 |
app:set_size | l_set_size | 设置窗口尺寸(宽, 高) |
app:version | l_version | 返回 egui 后端版本字符串 |
app:run | l_run | 启动阻塞式窗口事件循环,参数为每帧 draw 回调 function(ui) … end |
app:load_font | l_load_font | 加载字体(可选 SM3 校验):app:load_font(path, sm3_hex?),下一帧生效 |
app:__gc | l_gc | App 对象垃圾回收(释放窗口) |
UI 控件 - 基础
| API | 实现 | 说明 |
|---|---|---|
ui:button | ui_button | 按钮:点击返回 true,否则 false |
ui:label | ui_label | 普通文本标签 |
ui:heading | ui_heading | 标题级文本(大号加粗) |
ui:small_label | ui_small_label | 小号文本标签 |
ui:strong | ui_strong | 加粗强调文本 |
ui:separator | ui_separator | 水平分隔线 |
ui:text_wrap | ui_text_wrap | 自动换行文本:text_wrap(text, width?) |
ui:tooltip | ui_tooltip | 悬停提示文本,返回是否悬停 |
ui:hyperlink | ui_hyperlink | 超链接:hyperlink(url, text?) |
ui:label_colored | ui_label_colored | 彩色文本:label_colored(text, r, g, b) |
ui:spacing | ui_spacing | 垂直间距:spacing(points) |
ui:image | ui_image | 显示图片:image(path, w?, h?),返回是否成功 |
ui:image_placeholder | ui_image_placeholder | 占位色块:image_placeholder(w, h) |
UI 控件 - 交互输入
| API | 实现 | 说明 |
|---|---|---|
ui:text_edit | ui_text_edit | 单行文本输入:text_edit(str, editable?)(editable=0 只读),返回内容 |
ui:text_edit_multiline | ui_text_edit_multiline | 多行文本输入:text_edit_multiline(str, editable?),返回内容 |
ui:checkbox | ui_checkbox | 复选框:checkbox(label, checked),返回新状态 |
ui:toggle | ui_toggle | 布尔开关按钮:toggle(label, val),点击切换,返回新布尔 |
ui:radio_value | ui_radio_value | 单选按钮:radio_value(label, selected, value),选中返回 value |
ui:slider | ui_slider_f32 | 浮点滑条:slider(label, v, min, max),返回新值 |
ui:slideri | ui_slider_i32 | 整数滑条:slideri(label, v, min, max),返回新整数 |
ui:drag_value | ui_drag_value | 数值拖拽框:drag_value(label, v, min, max, speed?),返回新值 |
ui:combo | ui_combo | 下拉组合框:combo(label, items, selected),items 逗号分隔,返回选中索引 |
ui:selectable | ui_selectable | 可选中行:selectable(label, selected),返回是否被点选 |
ui:color_edit | ui_color_edit | RGB 颜色选择器:color_edit(label, r, g, b),返回 0xRRGGBB |
ui:progress_bar | ui_progress_bar | 进度条:progress_bar(frac, text?) |
ui:collapsing_header | ui_collapsing_header | 可折叠标题栏:collapsing_header(label, open),返回当前展开态 |
UI 控件 - 布局容器
| API | 实现 | 说明 |
|---|---|---|
ui:horizontal | ui_horizontal | 水平布局:把回调内控件排成一行,可任意嵌套 |
ui:vertical | ui_vertical | 垂直布局:把回调内控件排成一列,可任意嵌套 |
ui:grid | ui_grid | 网格布局:grid(cols, fn),每行固定 cols 列自动换行 |
ui:scroll | ui_scroll | 滚动区域:scroll(fn),内容超出窗口高度时出现滚动条 |
ui:frame | ui_frame | 分组框:frame(title, fn),带标题的分组边框 |
ui:highlight | ui_highlight | 周边高亮分组:highlight(title, r, g, b, fn),彩色描边 |
ui:menu_button | ui_menu_button | 下拉菜单按钮:menu_button(label, fn),fn 内放菜单项 |