我正在寻找可以集成到我的Qt5应用程序中的脚本语言。该应用程序有一个公共API,可用于通过插件扩展应用程序。现在我想在应用程序中添加脚本语言,以提供对整个公共API的访问。 脚本语言必须满足以下要求:
我评估了以下脚本语言:
您建议哪些脚本语言和工具满足我的所有要求?
答案 0 :(得分:1)
SWIG似乎是一个不错的选择。 SWIG仍在积极维护。
虽然SWIG并不能满足我的所有要求,但要让所有这些要求都有效,这不应该是一件大事:
脚本代码可以在QT-Application中执行。
不支持开箱即用。你必须在你的应用程序中嵌入一个python解释器。 https://docs.python.org/2/extending/embedding.html
用户可以访问文件系统,网络并使用脚本语言创建图形元素。
访问文件系统和网络应该不是python的问题。要创建图形用户界面,可以使用许多库:
https://wiki.python.org/moin/GuiProgramming
- 用户可以通过绑定访问我的QT应用程序的公共API。
- 应该有一个生成器可以自动为我的公共API生成脚本语言绑定。
这是由SWIG完成的。它们提供了很好的C ++和c ++ 11支持。
对于属于Public Api的类,应该可以 传递QT-Application和Scripting之间的对象 发动机。
这可以使用swig提供的c ++函数: