2013-08-05 26 views
8

Trước tiên tôi sẽ cho bạn thấy một ví dụ về những gì tôi đang nói về:Làm thế nào tôi có thể làm cho một ứng dụng GUI trong Lua

Tôi đã nghiên cứu Lua cho khoảng một tuần nay, và tôi thực sự tò mò về cách tôi sẽ làm điều này. Về cơ bản (bây giờ, và mục đích học tập), tôi chỉ muốn tạo một GUI với 2 nút, 1 để bắt đầu (.exe) được chỉ định và một để thoát GUI.

Điều này có khả thi không? Tôi sẽ đi đâu để tới đó? Bất kỳ thông tin sẽ là tuyệt vời!

+3

Mọi phản hồi về tất cả các câu trả lời bạn nhận được đều hợp lý. Nếu bất kỳ điều nào trong số này đã giúp bạn, ít nhất bạn nên chấp nhận nó. Đây là thứ giữ cho chất lượng SO cao. –

Trả lời

2

Bạn đã kiểm tra wxLua chưa? Đây là khung máy tính để bàn duy nhất mà tôi biết về Lua.

3

Nếu bạn là một người mới bắt đầu tuyệt đối, nghĩa là bạn không có bất kỳ kinh nghiệm lập trình bằng các ngôn ngữ lập trình khác, tôi lời khuyên bạn học Lua rất tốt mà không cần cố gắng gây rối với lập trình GUI, vốn vốn khó hơn nhiều. Khi bạn sẽ có một sự hiểu biết tốt về Lua, sau đó đi cho một bộ công cụ GUI cho Lua. Tôi sử dụng wxLua để tôi chỉ có thể cung cấp cho bạn một số gợi ý về điều đó.

Vì nó không phải là bộ công cụ Lua "gốc", nhưng nó là "ràng buộc" với thư viện GUI đa nền tảng nổi tiếng (wxWidgets) bạn phải nghiên cứu cả tài liệu wxLua và hướng dẫn wxWidgets (ít nhất ở một mức độ nào đó) .

Phân phối nhị phân wxLua đi kèm với mọi thứ cần thiết để sử dụng nó (bạn thậm chí không cần một trình thông dịch Lua riêng biệt, nó có riêng nó) và chứa một số lượng tốt các ứng dụng ví dụ.

Kịch bản sau đây là một xấp xỉ tầm thường về những gì bạn muốn làm, nhưng (tôi lặp lại chính mình) bạn thực sự nên tìm hiểu những điều cơ bản của Lua trước khi thử lập trình GUI.

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 

Để chạy tập lệnh trước, bạn phải chắc chắn rằng wxLua được cài đặt chính xác trong đường dẫn tìm kiếm thông dịch viên của bạn. Nếu không, bạn phải sử dụng thông dịch viên wxlua.exe đi kèm với bản phân phối.

Cũng lưu ý rằng trình thông dịch wxLua (bản phát hành ổn định mới nhất của wxLua) chạy với phiên bản Lua 5.1, vì vậy hãy thử không sử dụng các tính năng của Lua 5.2 trong tập lệnh của bạn. Cú pháp và ngữ nghĩa cơ bản Lua gần như giống nhau, nhưng có một số khác biệt nhỏ và Lua 5.2 có một vài tính năng bổ sung. Vì vậy, hãy cẩn thận với con đường học tập của bạn.

1

IUP phải là cách dễ nhất để tạo GUI với Lua. Tuy nhiên bạn sẽ gặp một bức tường gạch nếu bạn cố cài đặt IUP trên Linux. Bạn phải hy vọng ai đó đã cài đặt sẵn nó hoặc ai đó đã viết trước gói cài đặt cho phiên bản Linux của bạn. Nếu bạn muốn người khác có thể chạy mã của bạn sau này thì hầu như không thể thiết lập mọi thứ theo cách hợp lý. Đó thực sự là lỗi của nhóm Lua/Iup vì tôi không gặp khó khăn trong việc sử dụng Iup từ ngôn ngữ lập trình C và dường như nó tương thích rộng rãi với nhiều phiên bản Linux. Nó trái ngược với tình huống thông thường, ở đó rất dễ dàng để thiết lập một ngôn ngữ kịch bản và khó thiết lập một ngôn ngữ cấp thấp như C.

Các vấn đề liên quan