我刚刚开始使用 Qt 进行 C++ 开发。但是,我也有兴趣使用 Lua 编写我的应用程序脚本,因为各种文章都说明了它在编写应用程序的工作流/ui/glue 时的开发速度(易用性)。但是,开箱即用的 Qt 不支持它,而是包含 QtScript。
我的问题基本上是我应该尝试将 Lua 与 Qt 一起使用来开发商业应用程序,还是坚持使用 SDK 中提供的 QtScript?我猜主要是开发速度与稳定性的问题。
我遇到了同样的困境。对于这类任务,我更喜欢 Lua 而不是ECMAScript 。然而,就像编写 Lua 绑定一样容易,QtScript提供的集成级别产生了很多开箱即用的功能。这包括绑定到内置QObject派生类以及您自己的从 QObject 和/或QScriptClass继承的类。
因此,如果您只想编写脚本或配置独立于 Qt 功能的自己的类,那么我会选择 Lua。但是,如果您主要想与基于 QObject 的类型进行交互,那么 QtScript 将大大减少您的初始开发时间。
两全其美的选择是使用替代QScriptEngine实现来解析 Lua 脚本。一段时间以来,我一直想研究整合的难度……
更新:QtLua仍在积极维护中,可能会直接解决您的问题。
Javascript 现在集成得很好,如果你想集成 lua,你可能需要付出更高的前期工作。当前的实现(4.6)也使用了 webkit javascript 引擎,这意味着它的速度非常快。
我在当前项目中使用了 Javascript 和 Qt,无论哪种方式传输数据都非常容易(Qt 到 Javascript,反之亦然)