为C++库集成 python 脚本控制台

Integrate a python scripting console for a C++ library

本文关键字:脚本 控制台 python 集成 C++      更新时间:2023-10-16

我有一个库,里面有用C++编写的类和公共方法。

我想从用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::p ython 这样的事情已经做到了......我询问您的建议,哪种方法是编写绑定的更好方法。

第二点:如何将这个东西集成到从Qt应用程序启动的交互式shell中?一些在线项目,如QConsole应该做类似的事情,但QConsole似乎是一个非常过时的项目。

谢谢!

PythonQt就是为了这个目的而创建的。