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

LTUI是一个使用lua编写的跨平台字符终端UI库,支持curses/ncurses和Windows的pdcurses。新版本增加了鼠标事件支持,并提供了一个测试用例展示各种输入事件。用户可以自定义view获取输入,包括鼠标事件。安装使用方便,可通过luarocks或源码编译运行测试程序。
摘要由CSDN通过智能技术生成

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

此框架源于xmake中图形化菜单配置的需求,类似linux kernel的menuconf去配置编译参数,因此基于curses和lua实现了一整套跨平台的字符终端ui库。
而样式风格基本上完全参照的kconfig-frontends,当然用户也可以自己定制不同的ui风格。

另外,LTUI是完全跨平台的,windows上的terminal终端也是完全支持的,在windows上ltui会采用pdcurses来进行窗口绘制。

更新内容

新版本中,我们主要增加了对鼠标事件的支持,除了 curses/ncurses,我们还对 windows 上 pdcurses 也做了支持,这里我们非常感谢 @laelnasan 贡献。

另外我们新增一个 tests/events.lua 测试用例,专门用来测试各种输入事件。

$ xmake run test events

我们可以通过这个测试例子,获取并显示用户的所有鼠标输入事件。

我们可以在自定义的view上,重写on_event来获取所有事件输入,包括所有的鼠标输入事件:

local demo = application()

function demo:init()
    application.init(self, "demo")
    self:background_set("black")
end

function demo:on_event(e)
    if e.type == "btn_code" then
        print(e.btn_name, e.x, e.y)
    end
    application.on_event(self, e
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值