Lanzamiento de LTUI v2.4, una biblioteca de interfaz de interfaz de usuario de terminal de caracteres multiplataforma basada en lua

LTUI es una biblioteca de interfaz de interfaz de usuario de terminal de caracteres multiplataforma basada en lua.

Este marco se deriva del requisito de configuración del menú gráfico en xmake , similar al menuconf del kernel de Linux para configurar los parámetros de compilación, por lo que en base a curses y lua, se implementa un conjunto de biblioteca de interfaz de usuario de terminal de caracteres multiplataforma.
Y el estilo de estilo básicamente se refiere a kconfig-frontends por completo, por supuesto, los usuarios también pueden personalizar diferentes estilos de interfaz de usuario por sí mismos.

Además, LTUI es completamente multiplataforma, y ​​el terminal terminal en Windows también es totalmente compatible. En Windows, ltui usará pdcurses para dibujar ventanas.

actualizar contenido

En la nueva versión, hemos mejorado el soporte del mouse y hemos dado cuenta de la respuesta de clic a los eventos del mouse de todos los controles. Aquí estamos muy agradecidos por la contribución de @laelnasan .

Además, agregamos un componente de barra de desplazamiento para el soporte de desplazamiento, y también agregamos soporte de desplazamiento a los componentes choicebox y menuconf.

Soporte de desplazamiento de Choicebox

soporte de desplazamiento de menuconf

Instalar y usar

$ luarocks install ltui

Si desea ejecutar la prueba incorporada, debe instalar el programa lua o luajit para cargar y ejecutar el programa de prueba en el repositorio de código fuente de ltui:

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

o

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

Compilación de código fuente

Por lo general, luarocks se puede usar después de instalarlo. Si desea depurar localmente, también puede ejecutar la prueba directamente después de compilar el código fuente. Primero, debemos instalar la herramienta de compilación multiplataforma: xmake

$ xmake

xmake descargará automáticamente lua, ncurses y otras dependencias relacionadas, y luego podemos xmake runcargar directamente los programas de prueba relacionados:

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

solicitud

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()

etiqueta

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

Botón

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

Cuadro de entrada

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

Componente

vista Caja de diálogo otro
vista diálogo evento
panel cuadro de diálogo acción
etiqueta diálogo de texto lienzo
botón entrada de dialogo carreras
frontera mconfdialog programa
ventana diálogo de elección solicitud
Barra de menús punto
menuconf rect
mensaje de texto objeto
textarea
barra de estado
caja de elección
barra de desplazamiento
escritorio

Configuración del menú

Cuadro de entrada

Área de texto

Ventanas

Termux

Supongo que te gusta

Origin blog.csdn.net/waruqi/article/details/110467333
Recomendado
Clasificación