我有一个库,其中包含用 C++ 编写的类和公共(public)方法。
我想从用 C++ 和 Qt 编写的交互式程序内部,将命令发送到 Python 语言的解析器,解析器又将它们转换为对我的库的方法和函数的调用。
与 Octave/Matlab 中所做的类似,字符串由解析器处理,然后解析器在内部执行命令。
在我的 C++ 库中的某个地方,我有一个函数
int myFooCPPfunction(int value)
{
return value*value;
}
然后在我的程序执行期间,我想启动一个控制台并输入 Python 语法:
for i in range(0,20):
print("%d" % myFooCPPfunction(i))
例如,我给出的命令会更新程序的内部状态。
我认为这是编写链接到 C++ 的 Python 代码的问题。在我看来,像 boost::python 这样的东西已经做到了......我询问你的建议,哪种是编写绑定(bind)的更好方法。
第二点:如何将其集成到从 Qt 应用程序启动的交互式 shell 中? 一些在线项目(例如 QConsole)应该做类似的事情,但 QConsole 似乎是一个非常过时的项目。
谢谢!
最佳答案
PythonQt正是为了这个目的而创建的。
关于c++ - 为 C++ 库集成 python 脚本控制台,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10790068/