首先,我會告訴你的例子是什麼我談論:我怎樣才能讓在Lua的GUI應用程序
我一直在學習Lua的一個星期左右,現在,我真的很好奇我將如何做到這一點。基本上(現在和學習目的),我只想製作一個帶2個按鈕的GUI,1啓動指定的(.exe),另一個退出GUI。
這可能嗎?我會如何去做這件事?任何信息都會很棒!
首先,我會告訴你的例子是什麼我談論:我怎樣才能讓在Lua的GUI應用程序
我一直在學習Lua的一個星期左右,現在,我真的很好奇我將如何做到這一點。基本上(現在和學習目的),我只想製作一個帶2個按鈕的GUI,1啓動指定的(.exe),另一個退出GUI。
這可能嗎?我會如何去做這件事?任何信息都會很棒!
你查過wxLua?這是我知道Lua唯一的桌面GUI框架。
我相信你可能想看一看: http://lua-users.org/wiki/GraphicalUserInterfaceToolkits
如果你想要的東西以及瞭解和測試,我會去的Qt,如果是輕的東西:FLTK。
另一個例子是IUP: http://www.tecgraf.puc-rio.br/iup/
它支持微軟Windows和Unix
如果你是一個絕對的初學者,也就是你沒有其他編程語言中的任何編程經驗,我建議你可以很好地學習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有幾個附加功能。所以要小心你的學習路徑。
IUP應該是使用Lua創建GUI的最簡單方法。但是,如果您嘗試在Linux上安裝IUP,則會碰到一堵磚牆。你必須希望有人預先安裝了它,或者有人已經爲你的Linux版本預先編寫了一個安裝包。如果你希望其他人以後能夠運行你的代碼,那麼以合理的方式設置事物幾乎是不可能的。這實際上是Lua/Iup團隊的一個錯誤,因爲我從C編程語言中使用Iup沒有問題,並且它似乎與許多版本的Linux廣泛兼容。這與通常情況正好相反,它很容易建立一種腳本語言,很難建立像C這樣的低級語言。
任何有關您得到的答案的任何反饋都是合理的。如果這些對你有幫助,你至少應該接受它。這是保持SO質量高的原因。 –