在 C++ Qt 应用程序中嵌入 Python/Numpy/Matplotlib?

Posted

技术标签:

【中文标题】在 C++ Qt 应用程序中嵌入 Python/Numpy/Matplotlib?【英文标题】:Embed Python/Numpy/Matplotlib in a C++ Qt application? 【发布时间】:2012-06-30 15:40:52 【问题描述】:

我目前正在开发一个小型 C++ Qt 4.8(以及将发布的 5.0)科学应用程序,我想知道是否可以嵌入 Python+Numpy+Maptplotlib(甚至有一个可移植的应用程序)对于没有安装 Python 的人)在 C++ Qt 应用程序中,以便在我的应用程序中制作漂亮的图?

有没有这样的教程/示例?

非常感谢。

附: : 生成临时文件对我来说不是问题,但重要的是用户不必已经安装了 python。

【问题讨论】:

不是我见过的,但是没有太多步骤。 【参考方案1】:

从 C++ 处理 Python 的常用方法是使用 Boost.Python,但没有它也可以相处。

您需要记住的是,“Python 解释器”由两部分组成:Python DLL/SO 和 Python stdlib,您需要提供这两部分。 Python 安装添加的唯一东西是配置和一个可执行文件,它只是其他三个部分的薄包装。

由于您没有配置,一旦interpreter is initialized 您将需要使用PySys_SetPath()sys.path 设置为指向stdlib 和任何其他包。从那里,您可以使用 C API 的其余部分来操作解释器,就像使用本机安装一样。

【讨论】:

这会给你一个 Python 解释器。现在请添加如何同时提供 NumPy 和 Matplotlib。 你...把它们放在一个目录中并添加到sys.path。那部分没有改变。

以上是关于在 C++ Qt 应用程序中嵌入 Python/Numpy/Matplotlib?的主要内容,如果未能解决你的问题,请参考以下文章

Qt是啥?学习嵌入式会学到这个吗?

C++ qt 嵌入式 mysql 服务器

QT Quick Application Window 嵌入 C++ 对象

在 C++ 中嵌入 Python(CPython API)

如何中断嵌入在 C++ 应用程序中的 python 解释器

如果我想将 Python 嵌入到 C++ 程序中,我应该在我的程序文件夹中放啥?