0

0

LTUI v2.4 发布, 一个基于lua的跨平台字符终端UI界面库

爱谁谁

爱谁谁

发布时间:2025-09-14 09:09:15

|

276人浏览过

|

来源于php中文网

原创

ltui是一个基于lua的跨平台字符终端ui界面库。

该框架最初源于xmake中图形化菜单配置的需求,类似于Linux内核的menuconfig,用于配置编译参数。因此,我们基于curses和Lua实现了一整套跨平台的字符终端UI库。其样式风格基本完全参照了kconfig-frontends,当然用户也可以自行定制不同的UI风格。

此外,LTUI是完全跨平台的,Windows上的Terminal终端也完全支持。在Windows上,LTUI会采用PDCurses进行窗口绘制。

在GitHub上的新版本更新中,我们改进了对鼠标的支持,实现了对所有控件的鼠标事件点击响应,这里我们非常感谢@laelnasan的贡献。

此外,我们还新增了一个scrollbar组件,用于支持滚动,并且我们还对choicebox和menuconf组件增加了滚动支持。

choicebox滚动支持 LTUI v2.4 发布, 一个基于lua的跨平台字符终端UI界面库 menuconf滚动支持 LTUI v2.4 发布, 一个基于lua的跨平台字符终端UI界面库

安装和使用 要安装LTUI,可以使用以下命令:

$ luarocks install ltui

如果要运行自带的测试程序,你需要先安装Lua或LuaJIT来加载运行LTUI源码仓库中的测试程序:

羚珑
羚珑

京东推出的一站式AI图像处理平台

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

或者使用LuaJIT:

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

源码编译 通常情况下,安装好luarocks后即可使用。如果需要本地调试,可以通过源码编译后直接运行测试。首先需要安装跨平台构建工具xmake:

$ xmake

xmake会自动下载Lua、ncurses等相关依赖,然后通过

xmake run
加载相关测试程序:

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

应用程序示例 以下是一个简单的LTUI应用程序示例:

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}, ""):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", "", function (v) dialog_input:quit() end)
dialog_input:button_add("yes", "", function (v) dialog_input:quit() end)
self:insert(dialog_input, {centerx = true, centery = true})
end

相关专题

更多
windows查看端口占用情况
windows查看端口占用情况

Windows端口可以认为是计算机与外界通讯交流的出入口。逻辑意义上的端口一般是指TCP/IP协议中的端口,端口号的范围从0到65535,比如用于浏览网页服务的80端口,用于FTP服务的21端口等等。怎么查看windows端口占用情况呢?php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

576

2023.07.26

查看端口占用情况windows
查看端口占用情况windows

端口占用是指与端口关联的软件占用端口而使得其他应用程序无法使用这些端口,端口占用问题是计算机系统编程领域的一个常见问题,端口占用的根本原因可能是操作系统的一些错误,服务器也可能会出现端口占用问题。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

1102

2023.07.27

windows照片无法显示
windows照片无法显示

当我们尝试打开一张图片时,可能会出现一个错误提示,提示说"Windows照片查看器无法显示此图片,因为计算机上的可用内存不足",本专题为大家提供windows照片无法显示相关的文章,帮助大家解决该问题。

790

2023.08.01

windows查看端口被占用的情况
windows查看端口被占用的情况

windows查看端口被占用的情况的方法:1、使用Windows自带的资源监视器;2、使用命令提示符查看端口信息;3、使用任务管理器查看占用端口的进程。本专题为大家提供windows查看端口被占用的情况的相关的文章、下载、课程内容,供大家免费下载体验。

452

2023.08.02

windows无法访问共享电脑
windows无法访问共享电脑

在现代社会中,共享电脑是办公室和家庭的重要组成部分。然而,有时我们可能会遇到Windows无法访问共享电脑的问题。这个问题可能会导致数据无法共享,影响工作和生活的正常进行。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2348

2023.08.08

windows自动更新
windows自动更新

Windows操作系统的自动更新功能可以确保系统及时获取最新的补丁和安全更新,以提高系统的稳定性和安全性。然而,有时候我们可能希望暂时或永久地关闭Windows的自动更新功能。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

777

2023.08.10

windows boot manager
windows boot manager

windows boot manager无法开机的解决方法:1、系统文件损坏,使用Windows安装光盘或USB启动盘进入恢复环境,选择修复计算机,然后选择自动修复;2、引导顺序错误,进入恢复环境,选择命令提示符,输入命令"bootrec /fixboot"和"bootrec /fixmbr",然后重新启动计算机;3、硬件问题,使用硬盘检测工具进行扫描和修复;4、重装操作系统。本专题还提供其他解决

1488

2023.08.28

windows锁屏快捷键
windows锁屏快捷键

windows锁屏快捷键是Windows键+L、Ctrl+Alt+Del、Windows键+D、Windows键+P和Windows键+R。本专题为大家提供windows相关的文章、下载、课程内容,供大家免费下载体验。

1626

2023.08.30

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

9

2026.01.16

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Lua 5.3 中文开发手册
Lua 5.3 中文开发手册

共0课时 | 0人学习

Lua参考手册
Lua参考手册

共0课时 | 0人学习

Lua教程
Lua教程

共22课时 | 16.4万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号