如何使用Lua制作GUI应用程序

首先,我会给你展示一个我在谈论什么的例子:GUI的例子

我已经学习 Lua 大约一周了,我很好奇我要如何做到这一点。基本上(就目前而言,为了学习目的),我只想做一个有两个按钮的 GUI,一个用于启动指定的 (.exe) 文件,一个用于退出 GUI。

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

原文链接 https://stackoverflow.com/questions/18056592

点赞
stackoverflow用户2580713
stackoverflow用户2580713

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

2013-08-05 11:04:47
stackoverflow用户1022729
stackoverflow用户1022729

我想你可能希望看一下: http://lua-users.org/wiki/GraphicalUserInterfaceToolkits

如果你想要一个广为人知且经过测试的东西,我会选择Qt,如果想要轻量级的:FLTK。

2013-08-05 12:01:49
stackoverflow用户2458544
stackoverflow用户2458544

另一个例子是IUP:

http://www.tecgraf.puc-rio.br/iup/

它支持Microsoft Windows和Unix。

2013-08-06 06:37:13
stackoverflow用户2633423
stackoverflow用户2633423

如果你是一个完全的初学者,即你没有任何其他编程语言的编程经验,我建议你在不尝试混淆 GUI 编程时,非常好地学习 Lua,因为它本质上要难得多。

当你对 Lua 有了很好的理解后,可以选择一个适合 Lua 程序的 GUI 工具包。我使用 wxLua ,因此只能给你一些提示。

由于它不是一个“本地” Lua 工具包,而是一个“绑定”到一个众所周知的跨平台 GUI 库 (wxWidgets) ,你必须熟悉 wxLua 文档和 wxWidgets 手册(至少在某种程度上)。

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

以下脚本是对你想要完成的事情的一个简单的近似,但是(我再次重申)你应该在尝试 GUI 编程之前真正学习 Lua 的基础知识。

local wx = require 'wx'

local PATH_TO_APPLICATION = [[notepad.exe]]     -- 为了举例说明,假设在 Windows 中

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 发行版附带的 wxlua.exe 解释器。

另请注意,wxLua 解释器(最新的 wxLua 稳定版本)使用的是 Lua 5.1 版本,因此请不要在脚本中使用 Lua 5.2 版本的特性。基本的 Lua 语法和语义几乎相同,但有一些细微的差异,而 Lua 5.2 有一些新增功能。所以请注意你的学习路径。

2013-08-19 01:25:46
stackoverflow用户3541668
stackoverflow用户3541668

IUP 在 Linux 上的安装难度

使用 Lua 创造一个 GUI 最简单的方法就是使用 IUP。然而,如果你尝试在 Linux 上安装 IUP,你会遇到困难。你必须希望有人预先安装了它,或者有人为你的 Linux 版本预先编写了安装包。如果你想让其他人能够后续运行你的代码,那么以合理的方式设置这些东西几乎是不可能的。这实际上是 Lua/Iup 团队的错误,因为使用 C 编程语言从 Iup 中获取数据并没有任何问题,并且它似乎与许多版本的 Linux 兼容。这与通常情况相反,通常情况下,很容易设置脚本语言,但很难设置像 C 这样的底层语言。

2014-05-11 23:51:18