Einführung
LTUI ist eine lua-basierte plattformübergreifende UI-Schnittstellenbibliothek für Zeichenterminals.
Dieses Framework leitet sich aus der Anforderung der grafischen Menükonfiguration in xmake ab , ähnlich der Menükonfiguration des Linux-Kernels zum Konfigurieren von Kompilierungsparametern. Auf der Grundlage von Flüchen und Lua wird eine Reihe plattformübergreifender Zeichenterminal-UI-Bibliotheken implementiert.
Und der Stilstil bezieht sich im Wesentlichen vollständig auf kconfig-Frontends. Natürlich können Benutzer auch verschiedene UI-Stile selbst anpassen.
Installation
$ luarocks install ltui
Kompilieren
Wir müssen zuerst das plattformübergreifende Build-Tool installieren: xmake
$ xmake
Lauftest
Sie müssen das Programm lua oder luajit installieren, um das Testprogramm zu laden und auszuführen:
$ xmake run test dialog
$ xmake run test window
$ xmake run test desktop
$ xmake run test inputdialog
$ xmake run test mconfdialog
oder
$ lua tests\dialog.lua
$ lua tests\window.lua
$ lua tests\desktop.lua
$ lua tests\inputdialog.lua
$ lua tests\mconfdialog.lua
oder
$ luajit tests\dialog.lua
$ luajit tests\window.lua
$ luajit tests\desktop.lua
$ luajit tests\inputdialog.lua
$ luajit tests\mconfdialog.lua
Beispiel
Anwendung
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()
Etikette
local lab = label:new("title", rect {0, 0, 12, 1}, "hello ltui!"):textattr_set("white")
Taste
local btn = button:new("yes", rect {0, 1, 7, 2}, "< Yes >"):textattr_set("white")
Eingabefeld
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
Komponente
Aussicht | Dialogbox | andere |
---|---|---|
Aussicht | Dialog | Veranstaltung |
Panel | Boxdialog | Aktion |
Etikette | Textdialog | Segeltuch |
Taste | Eingabedialog | Rennen |
Rand | mconfdialog | Programm |
Fenster | gewählter Dialog | Anwendung |
Menüleiste | Punkt | |
menuconf | rekt | |
textedit | Objekt | |
Textbereich | ||
Statusleiste | ||
Auswahlbox | ||
Desktop |
Schnappschuss
Menükonfiguration
Eingabefeld
Textbereich
Wenn Sie mehr wissen möchten, wenden Sie sich bitte an:
Kontaktdetails
- E-Mail: [email protected]
- Homepage: tboox.org
- Community: Reddit Forum
- Chat: Telegrammgruppe , Gitter Chatraum
- Quellcode: Github , Gitee
- QQ-Gruppe: 343118190
- WeChat öffentliches Konto: tboox-os