LTUI v1.1, 一个基于lua的跨平台字符终端UI界面库

简介

LTUI是一个基于lua的跨平台字符终端UI界面库。linux

此框架源于xmake中图形化菜单配置的需求,相似linux kernel的menuconf去配置编译参数,所以基于curses和lua实现了一整套跨平台的字符终端ui库。 而样式风格基本上彻底参照的kconfig-frontends,固然用户也能够本身定制不一样的ui风格。git

<img src="https://tboox.org/static/img/ltui/choicebox.png" width="70%" />github

安装

$ luarocks install ltui

编译

咱们须要先安装跨平台构建工具:xmakecanvas

$ xmake

运行测试

你须要先安装lua或者luajit程序去加载运行测试程序:app

$ xmake run test dialog
$ xmake run test window
$ xmake run test desktop
$ xmake run test inputdialog
$ xmake run test mconfdialog

或者框架

$ lua tests\dialog.lua
$ lua tests\window.lua
$ lua tests\desktop.lua
$ lua tests\inputdialog.lua
$ lua tests\mconfdialog.lua

或者frontend

$ luajit tests\dialog.lua
$ luajit tests\window.lua
$ luajit tests\desktop.lua
$ luajit tests\inputdialog.lua
$ luajit tests\mconfdialog.lua

例子

应用程序

local ltui        = require("ltui")
local application = ltui.application
local event       = ltui.event
local rect        = ltui.rect
local window      = ltui.window
local demo        = application()

function demo:init()
    application.init(self, "demo")
    self:background_set("blue")
    self:insert(window:new("window.main", rect {1, 1, self:width() - 1, self:height() - 1}, "main window", true))
end

demo:run()

标签

local lab = label:new("title", rect {0, 0, 12, 1}, "hello ltui!"):textattr_set("white")

按钮

local btn = button:new("yes", rect {0, 1, 7, 2}, "< Yes >"):textattr_set("white")

输入框

function demo:init()
    -- ...

    local dialog_input = inputdialog:new("dialog.input", rect {0, 0, 50, 8})
    dialog_input:text():text_set("please input text:")
    dialog_input:button_add("no", "< No >", function (v) dialog_input:quit() end)
    dialog_input:button_add("yes", "< Yes >", function (v) dialog_input:quit() end)
    self:insert(dialog_input, {centerx = true, centery = true})
end

组件

视图 对话框 其余
view dialog event
panel boxdialog action
label textdialog canvas
button inputdialog curses
border mconfdialog program
window choicedialog application
menubar point
menuconf rect
textedit object
textarea
statusbar
choicebox
desktop

快照

菜单配置

<img src="https://tboox.org/static/img/ltui/menuconf.png" width="70%" />工具

输入框

<img src="https://tboox.org/static/img/ltui/inputdialog.png" width="70%" />测试

文本区域

<img src="https://tboox.org/static/img/ltui/textarea.png" width="70%" />ui

若是你想了解更多,请参考:

联系方式

相关文章
相关标签/搜索