LTUI v1.1, eine lua-basierte plattformübergreifende UI-Schnittstellenbibliothek für Zeichenterminals

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

Ich denke du magst

Origin blog.csdn.net/waruqi/article/details/84614226
Empfohlen
Rangfolge