如何在Lua中创建GUI应用程序

时间:2013-08-05 11:02:13

标签: user-interface lua

首先,我将向您展示我所谈论的一个例子:GUI Example

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

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

5 个答案:

答案 0 :(得分:6)

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

如果你想要了解和测试的东西,我会去Qt,如果有点亮:FLTK。

答案 1 :(得分: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有一些附加功能。所以要小心你的学习路径。

答案 2 :(得分:3)

您检查了wxLua吗?这是Lua唯一知道的桌面gui框架。

答案 3 :(得分:2)

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

Microsoft Windows和Unix支持

答案 4 :(得分:2)

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