2013-08-05 94 views
8

首先,我会告诉你的例子是什么我谈论:我怎样才能让在Lua的GUI应用程序

我一直在学习Lua的一个星期左右,现在,我真的很好奇我将如何做到这一点。基本上(现在和学习目的),我只想制作一个带2个按钮的GUI,1启动指定的(.exe),另一个退出GUI。

这可能吗?我会如何去做这件事?任何信息都会很棒!

+3

任何有关您得到的答案的任何反馈都是合理的。如果这些对你有帮助,你至少应该接受它。这是保持SO质量高的原因。 –

回答

2

你查过wxLua?这是我知道Lua唯一的桌面GUI框架。

3

如果你是一个绝对的初学者,也就是你没有其他编程语言中的任何编程经验,我建议你可以很好地学习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有几个附加功能。所以要小心你的学习路径。

1

IUP应该是使用Lua创建GUI的最简单方法。但是,如果您尝试在Linux上安装IUP,则会碰到一堵砖墙。你必须希望有人预先安装了它,或者有人已经为你的Linux版本预先编写了一个安装包。如果你希望其他人以后能够运行你的代码,那么以合理的方式设置事物几乎是不可能的。这实际上是Lua/Iup团队的一个错误,因为我从C编程语言中使用Iup没有问题,并且它似乎与许多版本的Linux广泛兼容。这与通常情况正好相反,它很容易建立一种脚本语言,很难建立像C这样的低级语言。

相关问题