模块 segui

require "segui"

模块函数

API实现说明
segui.newnew创建 GUI 应用:segui.new{title=…, width=…, height=…},返回 app

App 方法(app:xxx)

API实现说明
app:set_titlel_set_title设置窗口标题
app:set_sizel_set_size设置窗口尺寸(宽, 高)
app:versionl_version返回 egui 后端版本字符串
app:runl_run启动阻塞式窗口事件循环,参数为每帧 draw 回调 function(ui) … end
app:load_fontl_load_font加载字体(可选 SM3 校验):app:load_font(path, sm3_hex?),下一帧生效
app:__gcl_gcApp 对象垃圾回收(释放窗口)

UI 控件 - 基础

API实现说明
ui:buttonui_button按钮:点击返回 true,否则 false
ui:labelui_label普通文本标签
ui:headingui_heading标题级文本(大号加粗)
ui:small_labelui_small_label小号文本标签
ui:strongui_strong加粗强调文本
ui:separatorui_separator水平分隔线
ui:text_wrapui_text_wrap自动换行文本:text_wrap(text, width?)
ui:tooltipui_tooltip悬停提示文本,返回是否悬停
ui:hyperlinkui_hyperlink超链接:hyperlink(url, text?)
ui:label_coloredui_label_colored彩色文本:label_colored(text, r, g, b)
ui:spacingui_spacing垂直间距:spacing(points)
ui:imageui_image显示图片:image(path, w?, h?),返回是否成功
ui:image_placeholderui_image_placeholder占位色块:image_placeholder(w, h)

UI 控件 - 交互输入

API实现说明
ui:text_editui_text_edit单行文本输入:text_edit(str, editable?)(editable=0 只读),返回内容
ui:text_edit_multilineui_text_edit_multiline多行文本输入:text_edit_multiline(str, editable?),返回内容
ui:checkboxui_checkbox复选框:checkbox(label, checked),返回新状态
ui:toggleui_toggle布尔开关按钮:toggle(label, val),点击切换,返回新布尔
ui:radio_valueui_radio_value单选按钮:radio_value(label, selected, value),选中返回 value
ui:sliderui_slider_f32浮点滑条:slider(label, v, min, max),返回新值
ui:slideriui_slider_i32整数滑条:slideri(label, v, min, max),返回新整数
ui:drag_valueui_drag_value数值拖拽框:drag_value(label, v, min, max, speed?),返回新值
ui:comboui_combo下拉组合框:combo(label, items, selected),items 逗号分隔,返回选中索引
ui:selectableui_selectable可选中行:selectable(label, selected),返回是否被点选
ui:color_editui_color_editRGB 颜色选择器:color_edit(label, r, g, b),返回 0xRRGGBB
ui:progress_barui_progress_bar进度条:progress_bar(frac, text?)
ui:collapsing_headerui_collapsing_header可折叠标题栏:collapsing_header(label, open),返回当前展开态

UI 控件 - 布局容器

API实现说明
ui:horizontalui_horizontal水平布局:把回调内控件排成一行,可任意嵌套
ui:verticalui_vertical垂直布局:把回调内控件排成一列,可任意嵌套
ui:gridui_grid网格布局:grid(cols, fn),每行固定 cols 列自动换行
ui:scrollui_scroll滚动区域:scroll(fn),内容超出窗口高度时出现滚动条
ui:frameui_frame分组框:frame(title, fn),带标题的分组边框
ui:highlightui_highlight周边高亮分组:highlight(title, r, g, b, fn),彩色描边
ui:menu_buttonui_menu_button下拉菜单按钮:menu_button(label, fn),fn 内放菜单项
← 返回模块索引