16

首先,我将向您展示我正在谈论的示例:GUI 示例

我已经研究 Lua 大约一个星期了,我真的很好奇我会如何做到这一点。基本上(现在和学习目的),我只想制作一个带有 2 个按钮的 GUI,1 个用于启动指定的(.exe),一个用于退出 GUI。

这可能吗?我该怎么做呢?任何信息都会很棒!

4

5 回答 5

9

我相信你可能想看看: http: //lua-users.org/wiki/GraphicalUserInterfaceToolkits

如果你想要一些众所周知和经过测试的东西,我会去 Qt,如果有一些简单的东西:FLTK。

于 2013-08-05T12:01:49.203 回答
6

如果你是一个绝对的初学者,即你没有任何其他编程语言的编程经验,我建议你很好地学习 Lua,而不要试图搞乱 GUI 编程,这本来就更难。当你对 Lua 有很好的理解时,就去寻找 Lua 的 GUI 工具包。我使用wxLua,所以我只能给你一些提示。

由于它不是“原生”Lua 工具包,而是与著名的跨平台 GUI 库(wxWidgets)的“绑定”,因此您必须同时学习 wxLua 文档和 wxWidgets 手册(至少在某种程度上)。

wxLua 二进制发行版附带了使用它所需的一切(您甚至不需要单独的 Lua 解释器,它有自己的)并包含大量示例应用程序。

以下脚本是您想要做的一个简单的近似,但是(我重复一遍)在尝试 GUI 编程之前,您应该真正学习 Lua 的基础知识。

local wx = require 'wx'

local PATH_TO_APPLICATION = [[notepad.exe]]     -- Windows assumed for sake of exemplification

local ans = wx.wxMessageBox( "Should the application be started?", "Hi there!",
    wx.wxOK + wx.wxCANCEL + wx.wxICON_QUESTION )
if ans == wx.wxOK then
    wx.wxExecute( PATH_TO_APPLICATION )
end

要运行前面的脚本,您必须确保 wxLua 已正确安装在您的解释器搜索路径中。否则,您必须使用wxlua.exe发行版附带的解释器。

还要注意 wxLua 解释器(最新的 wxLua 稳定版本)运行在 Lua 5.1 版本上,所以尽量不要在你的脚本中使用 Lua 5.2 的特性。基本的 Lua 语法和语义几乎相同,但有一些细微的差别,Lua 5.2 有几个附加特性。所以要小心你的学习路径。

于 2013-08-19T01:25:46.320 回答
4

IUP 应该是使用 Lua 创建 GUI 的最简单方法。但是,如果您尝试在 Linux 上安装 IUP,您将遇到障碍。您必须希望有人预先安装了它,或者有人已经为您的 Linux 版本预先编写了安装包。如果您希望其他人能够稍后运行您的代码,那么以合理的方式进行设置几乎是不可能的。这确实是 Lua/Iup 团队的一个错误,因为我在 C 编程语言中使用 Iup 没有任何问题,而且它似乎与许多版本的 Linux 广泛兼容。这与通常的情况相反,通常情况下,设置脚本语言非常容易,而设置像 C 这样的低级语言却很困难。

于 2014-05-11T23:51:18.887 回答
3

另一个例子是 IUP: http ://www.tecgraf.puc-rio.br/iup/

它支持 Microsoft Windows 和 Unix

于 2013-08-06T06:37:13.277 回答
3

你检查过 wxLua吗?这是我所知道的 Lua 的唯一桌面 gui 框架。

于 2013-08-05T11:04:47.847 回答