如果这个问题已经得到回答,你将不得不原谅我,但我还没有找到任何专门谈论我需要的东西。
我正在尝试将 python 解释器嵌入到用 C++ 编写的 GUI 中。为了更全面地描述它,我有一系列将显示在窗口中的图像。这些图像将从服务器流式传输,以及有关图像的各种信息以及它们如何相互比较。GUI 底部还会有一个大的文本区域,带有提示(如 python CLI 中的“>>>”提示),用户可以在其中键入有效的 python 代码,然后应用程序根据它的信息执行该代码在当前显示的图像上有。
例如,如果图像存储在一个包含高度和宽度信息(image->height
和image->width
)的结构中,并且我在 Python 中编写了一个与当前显示的数据接口的类(一切都会做它看起来应该做的事情),我需要能够执行以下操作并获得输出:
>>> from image import image #custom module and class for interfacing with my GUI
>>> img = image.get_current_image() #returns a Python object relating to the image currently displayed
>>> img.width
800
>>>img.height
600
>>> img.aspect_ratio()
4:3
我知道一些从 python 代码访问 c++ 类的方法,例如Boost Python。我不确定如何在 C++ GUI 中创建解释器。问题是 python 和 C++ 必须实时相互通信,并且必须共享内存。例如,python 模块可能包含一个to_grayscale()
将图像转换为灰度的函数,这将要求 python 模块从 C++ 中检索图像,对其进行转换,然后将其发送回以重新渲染。
为了清楚起见,我不需要帮助进行转换或类似的事情。我如何将解释器与 C++ 集成?
谢谢!