LTUI v1.1、luaベースのクロスプラットフォームキャラクターターミナルUIインターフェースライブラリ

前書き

LTUIは、luaベースのクロスプラットフォームの文字端末UIインターフェイスライブラリです。

このフレームワークは、コンパイルパラメータを構成するLinuxカーネルのmenuconfと同様に、xmakeのグラフィカルメニュー構成の要件から派生しているため、cursesとluaに基づいて、クロスプラットフォームの文字端末uiライブラリのセットが実装されます。
また、スタイルスタイルは基本的にkconfig-frontendsを完全に参照します。もちろん、ユーザーはさまざまなuiスタイルを自分でカスタマイズすることもできます。

インストール

$ luarocks install ltui

コンパイル

最初にクロスプラットフォームビルドツールをインストールする必要があります:xmake

$ xmake

テストを実行する

テストプログラムをロードして実行するには、luaまたはluajitプログラムをインストールする必要があります

$ 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

または

$ 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

成分

見る ダイアログボックス その他
見る ダイアログ イベント
パネル boxdialog アクション
ラベル textdialog キャンバス
ボタン inputdialog レース
境界 mconfdialog プログラム
choicedialog 応用
メニューバー ポイント
menuconf 長方形
テキストエディット オブジェクト
textarea
ステータスバー
選択ボックス
デスクトップ

スナップショット

メニュー構成

入力ボックス

テキストエリア

詳細については、以下を参照してください。

連絡先の詳細

おすすめ

転載: blog.csdn.net/waruqi/article/details/84614226