通过Lua创建交互式GTK界面

时间:2019-03-14 08:26:25

标签: lua gtk

我正在构建一个严重依赖插件的应用程序。这些都是用Lua编码的,以便更轻松,更快地进行开发。

我现在想为插件的配置添加GTK用户界面。现在的问题是,我需要一种通过外部代码(基本上是信号和回调)与接口进行交互的方法。而且我不确定如何仅使用外部Lua脚本来实现该行为。

我的方法正确吗,还是应该在UI框架中实现本机解决方案?

1 个答案:

答案 0 :(得分:0)

如果您使用的是Linux或BSD,Lua是GTK的完美选择。只需看看lua-lgi project。安装后,您可以在几秒钟内开始构建UI:

lgi = require'lgi'
Gtk = lgi.require'Gtk'
dialog = Gtk.MessageDialog { text = 'This is a text message.', buttons = 'CLOSE' }
dialog:show_all()
Gtk.main()

lgi的最大特点是,它适用于每个基于GObject的库,例如cairogofficegnome-db等。

如果您使用的是Windows,则很不走运。我已经建立了working installer,但它不是实际项目,更是概念验证。通往这条道路的路途非常艰难,特别是因为gobject-introspectionlgi广泛使用)尚不跨平台友好。

我没有其他操作系统的经验。