我正在寻找可以集成到我的Qt5应用程序中的脚本语言.该应用程序有一个公共API,可用于通过插件扩展应用程序.现在我想在应用程序中添加脚本语言,以提供对整个公共API的访问.脚本语言必须满足以下要求:
我评估了以下脚本语言:
您建议哪些脚本语言和工具满足我的所有要求?
SWIG与 Python 似乎是一个不错的选择。SWIG 仍在积极维护。
尽管 SWIG 并不能满足我开箱即用的所有要求,但让它们全部工作应该不是一件大事:
脚本代码可以从 QT 应用程序内执行。
开箱即用不支持此功能。您必须将 python 解释器嵌入到您的应用程序中。https://docs.python.org/2/extending/embedding.html
用户可以访问文件系统、网络并从脚本语言创建图形元素。
使用 python 访问文件系统和网络应该不是问题。要创建图形用户界面,有很多可用的库: https:
//wiki.python.org/moin/GuiProgramming
- 用户可以通过绑定访问我的 QT 应用程序的公共 api。
- 应该有一个生成器可以自动为我的公共 api 生成脚本语言绑定。
这是由 SWIG 完成的。它们提供了出色的 C++ 和 c++11 支持。
对于属于公共 Api 一部分的类,应该可以在 QT 应用程序和脚本引擎之间传递对象。
使用 swig 提供的 C++ 函数可以实现这一点:
更多信息请参见外部运行时章节
| 归档时间: |
|
| 查看次数: |
1430 次 |
| 最近记录: |