【问题标题】:How easy is Lua with Qt, compared to QtScript?与 QtScript 相比,使用 Qt 的 Lua 有多容易?
【发布时间】:2011-03-14 17:53:29
【问题描述】:

我刚刚开始使用 Qt 进行 C++ 开发。然而,我也有兴趣使用 Lua 编写我的应用程序脚本,因为各种文章都说明了它在编写应用程序的工作流/ui/glue 时的开发速度(易用性)。但是,开箱即用的 Qt 不支持它,而是包含 QtScript。

我的问题基本上是我应该尝试使用 Lua 和 Qt 来开发商业应用程序,还是坚持使用 SDK 中提供的 QtScript?我猜主要是开发速度与稳定性的问题。

【问题讨论】:

    标签: c++ qt lua qtscript


    【解决方案1】:

    Javascript 现在集成得非常好,如果你想集成 lua,你可能需要付出更高的前期工作量。此外,当前的实现(4.6)使用 webkit javascript 引擎,这意味着它的速度非常快。

    我在当前项目中使用了 Javascript 和 Qt,无论哪种方式传输数据都非常容易(Qt 到 Javascript,反之亦然)

    【讨论】:

      【解决方案2】:

      我也遇到了同样的困境。对于这类任务,我更喜欢 Lua 而不是 ECMAScript。然而,就像编写 Lua 绑定一样容易,QtScript 提供的集成级别产生了很多开箱即用的功能。这包括绑定到内置的 QObject 派生类以及您自己的继承自 QObject 和/或 QScriptClass 的类。

      因此,如果您只想编写脚本或配置独立于 Qt 功能的自己的类,那么我会选择 Lua。但是,如果您主要想与基于 QObject 的类型进行交互,那么 QtScript 将大大缩短您的初始开发时间。

      两全其美的选择是使用备用QScriptEngine 实现来解析Lua 脚本。一段时间以来,我一直想研究整合的难度……

      更新QtLua 仍在积极维护中,可能会直接解决您的问题。

      【讨论】:

      • 尽管答案很旧,但值得一提的是,即使在商业手段中使用 QScript,代码也应该符合 LGPL。因此,完整的代码应该是 OS,或者至少是使用 QScript 的部分(例如,作为 lib 实现)。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-08
      • 1970-01-01
      • 1970-01-01
      • 2011-04-22
      • 1970-01-01
      • 2011-07-05
      相关资源
      最近更新 更多