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
若是你想了解更多,請參考: