有没有一种方法可以在Lua中创建GUI界面?

4
我正在使用Lua开发TSP的遗传算法解决方案,目前需要更好的故障排除和结果检查方法。最好的方法是使用GUI,但我似乎找不到关于Lua GUI的任何信息。
我在Google上进行了一些搜索,没有发现语言内置的任何内容。我已经找到了工具包,例如在这里找到的工具包:

http://lua-users.org/wiki/GraphicalUserInterfaceToolkits

然而,我对Lua还很陌生,不知道如何正确使用它们。非常感谢任何有关此事的帮助。
2个回答

4

以下是几个想法:

首先,你在哪个平台上?

如果不受平台限制,我曾经在iPad上直接用Codea做了非常令人兴奋的事情。它是纯Lua构建的,基于OpenGL,因此内置了图形支持API。

除此之外,你可能可以使用Love2d。这是一个游戏开发工具,但你也可以将其适应到自己的需求中。它是一个Lua API,提供了图形支持,并且跨平台。我对它不是很了解,所以其他人可以提出他们的想法和观点。


我正在使用ZeroBrane Studio IDE的PC。这个项目更多的是概念性的,所以只有我会使用它。 - Jordan Lejman
PC - 指在英特尔/AMD上运行的Windows 10操作系统吗? - dualed
是的,Windows 10和Intel。 - Jordan Lejman

3

如果你对Lua还不太熟练,建议先在控制台上练习一段时间。对于初学者来说,无论用哪种语言编写的GUI界面通常都很凌乱、难以满足期望。

如果你已经了解一些HTML和JavaScript,可以考虑使用带有Web框架的Lua,并通过REST API在浏览器中控制你的程序:

除此之外,我还没有找到一个适合Lua的GUI框架。几乎所有的框架都是C或C++ API的薄包装,操作感觉非常相似。另一方面,随着Web和Electron的兴起,好像并没有必要去使用它们。


我确实了解一些HTML和JS,但如果您知道任何教程或其他方面的帮助来正确设置API并使用它,我将不胜感激。 - Jordan Lejman
取决于您最熟悉的工具包。大多数LUA GUI包装器只是对应GTK、WXWidgets或其他工具包中相应函数的包装器。WX有很多手册、示例和教程,GTK有大量代码和教程,因此您只需要选择一个工具包并坚持使用它即可。如果您期望为LUA使用WISYWIG编辑器...那是不可能的。大多数编码都是在控制台或文本编辑器中完成的,没有像VisualStudio或Freepascal这样的GUI构建器。然而,我建议使用WXLua或VCLua,因为它们成熟、易学,并且可以在许多平台上运行。 - JD_GRINDER
@JordanLejman 这是非常个人的喜好问题,对于Lua,我之前使用过kepler栈;不过OpenResty和Pegasus看起来更好。在JS方面——顺便提一下,还有一个叫做Pegasus的库,非常适合hacky方法,如果你只需要xhr部分——如果你需要JS方面更多的东西,我会使用Vue或React,或者你已经直接了解的任何框架。 - dualed
1
我想指出Lapis,这是一个适用于Lua和Moonscript的Web框架。考虑到Web接口的普及和相对简单性,我认为这是一个很好的选择。参考链接 - Real

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接