2013-08-05 139 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這樣的低級語言。

相關問題