LTUI 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
LTUI 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
LTUI 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
LTUI 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
LTUI 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

简介

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

此框架源于xmake中图形化菜单配置的需求,类似linux kernel的menuconf去配置编译参数,因此基于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

组件

视图对话框其他
viewdialogevent
panelboxdialogaction
labeltextdialogcanvas
buttoninputdialogcurses
bordermconfdialogprogram
windowchoicedialogapplication
menubar point
menuconf rect
textedit object
textarea  
statusbar  
choicebox  
desktop  

快照

菜单配置

输入框

文本区域

如果你想了解更多,请参考:

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (2)

加载中
想起了DOS下的一套套工具。
2018/12/02 10:08
回复
举报
尽是怀念
2018/12/02 08:55
回复
举报
ruki软件作者
一个基于 lua 的跨平台字符终端 UI 界面库 https://github.com/tboox/ltui #LTUI#
2018/11/29 13:17
回复
举报
更多评论
发表于大前端专区
2020/05/07 19:36

LTUI v1.7 发布,一个基于 Lua 的跨平台字符终端 UI 界面库

LTUI是一个基于lua的跨平台字符终端UI界面库。 此框架源于xmake中图形化菜单配置的需求,类似linux kernel的menuconf去配置编译参数,因此基于curses和lua实现了一整套跨平台的字符终端ui库。 而样式风格基本上完全参照的kconfig-frontends,当然用户也可以自己定制不同的ui风格。 另外,LTUI是完全跨平台的,windows上的terminal终端也是完全支持的,在windows上ltui会采用pdcurses来进行窗口绘制。 Github 更新内容 然而之前的...

3
7
发表于大前端专区
2018/11/29 10:30

LTUI v1.1, 基于 lua 的跨平台字符终端 UI 界面库

简介 LTUI是一个基于lua的跨平台字符终端UI界面库。 主页 Github Gitee 此框架源于xmake中图形化菜单配置的需求,类似linux kernel的menuconf去配置编译参数,因此基于curses和lua实现了一整套跨平台的字符终端ui库。 而样式风格基本上完全参照的kconfig-frontends,当然用户也可以自己定制不同的ui风格。 最近将这套 ui 框架从 xmake 里面抽离了出来独立维护,欢迎有兴趣的同学试用,顺便给个 star 哈。 对了,这个框架在 wind...

6
16
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表于DevOps专区
2018/11/29 09:09

LTUI v1.1, 一个基于lua的跨平台字符终端UI界面库

简介 LTUI是一个基于lua的跨平台字符终端UI界面库。 此框架源于xmake中图形化菜单配置的需求,类似linux kernel的menuconf去配置编译参数,因此基于curses和lua实现了一整套跨平台的字符终端ui库。 而样式风格基本上完全参照的kconfig-frontends,当然用户也可以自己定制不同的ui风格。 安装 $ luarocks install ltui 编译 我们需要先安装跨平台构建工具:xmake $ xmake 运行测试 你需要先安装lua或者luajit程序去加载运行测...

0
0
发表了博客
2018/11/29 09:40

LTUI v1.1, 一个基于lua的跨平台字符终端UI界面库

## 简介 LTUI是一个基于lua的跨平台字符终端UI界面库。 此框架源于[xmake](https://github.com/tboox/xmake)中图形化菜单配置的需求,类似linux kernel的menuconf去配置编译参数,因此基于curses和lua实现了一整套跨平台的字符终端ui库。 而样式风格基本上完全参照的kconfig-frontends,当然用户也可以自己定制不同的ui风格。 ## 安装 ```console $ luarocks install ltui ``` ## 编译 我们需要先安装跨平台构建工具:[xmake](h...

0
1
发表于服务端专区
2020/05/06 19:31

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

LTUI是一个基于lua的跨平台字符终端UI界面库。 此框架源于xmake中图形化菜单配置的需求,类似linux kernel的menuconf去配置编译参数,因此基于curses和lua实现了一整套跨平台的字符终端ui库。 而样式风格基本上完全参照的kconfig-frontends,当然用户也可以自己定制不同的ui风格。 另外,LTUI是完全跨平台的,windows上的terminal终端也是完全支持的,在windows上ltui会采用pdcurses来进行窗口绘制。 Github 更新内容 然而之前的...

0
0
发表于服务端专区
2020/11/30 22:23

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

LTUI是一个基于lua的跨平台字符终端UI界面库。 此框架源于xmake中图形化菜单配置的需求,类似linux kernel的menuconf去配置编译参数,因此基于curses和lua实现了一整套跨平台的字符终端ui库。 而样式风格基本上完全参照的kconfig-frontends,当然用户也可以自己定制不同的ui风格。 另外,LTUI是完全跨平台的,windows上的terminal终端也是完全支持的,在windows上ltui会采用pdcurses来进行窗口绘制。 Github 更新内容 新版本中,...

0
0
发表于服务端专区
2020/10/19 09:57

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

LTUI是一个基于lua的跨平台字符终端UI界面库。 此框架源于xmake中图形化菜单配置的需求,类似linux kernel的menuconf去配置编译参数,因此基于curses和lua实现了一整套跨平台的字符终端ui库。 而样式风格基本上完全参照的kconfig-frontends,当然用户也可以自己定制不同的ui风格。 另外,LTUI是完全跨平台的,windows上的terminal终端也是完全支持的,在windows上ltui会采用pdcurses来进行窗口绘制。 Github 更新内容 新版本中,...

0
0
发表于服务端专区
2020/08/29 23:11

2018 年度国产开源软件新秀榜单

来源于开源中国整理分享 开源中国社区在 2018 年新收录了近 2000 款开源软件,种类林林总总。根据开源软件的关注度和活跃度,以及它们在功能上的独特构思,最终产生了这份 2018 年度国产开源软件新秀榜。现在,让我们一同从这些开源软件中,回顾去年的国产开源软件新秀 TOP 30。 区别于之前的常规年度榜单,「国产新秀榜」是新设立的一个年度排行榜,旨在让更多优秀但知名度稍低的开源软件能被广大开发者熟知。而所谓新秀,不仅...

0
0
发表于开发技能专区
01/21 21:53

xmake v2.5.1 发布, 支持 Apple Silicon 并改进 C/C++ 包依赖管理

xmake 是一个基于 Lua 的轻量级跨平台构建工具,使用 xmake.lua 维护项目构建,相比 makefile/CMakeLists.txt,配置语法更加简洁直观,对新手非常友好,短时间内就能快速入门,能够让用户把更多的精力集中在实际的项目开发上。 这是 xmake 在今年的首个版本,也是完全适配支持 Apple Silicon (macOS ARM) 设备的首个版本。 这个版本,我们主要改进了对 C/C++ 依赖包的集成支持,更加的稳定,并且能够更加灵活的实现定制化配置编...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
2 评论
37 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部