通过Lua创建交互式GTK界面

通过Lua创建交互式GTK界面,lua,gtk,Lua,Gtk,我正在构建一个严重依赖插件的应用程序。这些都是用Lua编码的,以便于更快地开发 现在我想为插件的配置添加GTK用户界面。现在的问题是,我需要一种通过外部代码(基本上是信号和回调)与接口交互的方法。我不知道如何仅用外部Lua脚本实现这种行为 我的方法正确吗?还是应该在我的UI框架中实现本机解决方案?如果您使用的是linux或BSD,Lua是GTK的一个非常有效的选择。看一看这张照片就知道了。安装后,您可以在几秒钟内开始构建UI: lgi=require'lgi' Gtk=lgi。需要“Gtk” d

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

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


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

如果您使用的是linux或BSD,Lua是GTK的一个非常有效的选择。看一看这张照片就知道了。安装后,您可以在几秒钟内开始构建UI:

lgi=require'lgi'
Gtk=lgi。需要“Gtk”
dialog=Gtk.MessageDialog{text='这是一条文本消息',buttons='CLOSE'}
对话框:全部显示()
Gtk.main()
lgi
的最大特点是它适用于每一个基于GObject的库,例如,以及更多的库

如果你在窗户上,你就不走运了。我已经建立了一个项目,但它更多的是一个概念的证明,而不是一个真正的项目。实现这一目标的道路非常艰难,特别是因为(lgi广泛使用的
lgi
)还不具备跨平台友好性


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

我也看过,但我的问题不是在Lua上构建UI,而是检索已经加载的UI元素,以便能够用脚本修改它。有可能做到这一点吗?
lualgi
提供了与C中相同的API:您可以用普通GTK做任何事情。根据我从您的请求中了解到的情况,您可以从
GtkBuilder
(即从glade生成的XML文件)轻松获取小部件,并以任何可能的方式对其进行编辑。如果是这样,那么这可能是实现我的目标的最佳方式。唯一的问题是跨平台的问题,但我以后必须寻找解决方案。谢谢你的帮助!