ltui是一个基于lua的跨平台字符终端ui界面库。
该框架最初源于xmake中图形化菜单配置的需求,类似于Linux内核的menuconfig,用于配置编译参数。因此,我们基于curses和Lua实现了一整套跨平台的字符终端UI库。其样式风格基本完全参照了kconfig-frontends,当然用户也可以自行定制不同的UI风格。
此外,LTUI是完全跨平台的,Windows上的Terminal终端也完全支持。在Windows上,LTUI会采用PDCurses进行窗口绘制。
在GitHub上的新版本更新中,我们改进了对鼠标的支持,实现了对所有控件的鼠标事件点击响应,这里我们非常感谢@laelnasan的贡献。
此外,我们还新增了一个scrollbar组件,用于支持滚动,并且我们还对choicebox和menuconf组件增加了滚动支持。
choicebox滚动支持 menuconf滚动支持
安装和使用 要安装LTUI,可以使用以下命令:
如果要运行自带的测试程序,你需要先安装Lua或LuaJIT来加载运行LTUI源码仓库中的测试程序:
或者使用LuaJIT:
源码编译 通常情况下,安装好luarocks后即可使用。如果需要本地调试,可以通过源码编译后直接运行测试。首先需要安装跨平台构建工具xmake:
xmake会自动下载Lua、ncurses等相关依赖,然后通过
加载相关测试程序:
应用程序示例 以下是一个简单的LTUI应用程序示例:
标签示例 以下是一个标签的示例代码:
按钮示例 以下是一个按钮的示例代码:
输入框示例 以下是一个输入框的示例代码: