在我的Qt C ++应用程序中使用Anaconda的Python

时间:2019-03-05 13:02:13

标签: python c++ qt anaconda

我打算在Qt C ++应用程序中使用Anaconda的Python从我的C ++代码中调用一些scikit-learn算法。由于某种原因,我无法弄清楚如何进行集成。我想知道是否有人知道逐步的过程。

2 个答案:

答案 0 :(得分:2)

如果您的C ++代码适用于Qt <= 5.9.7。 (或更准确地说,Anaconda's current Qt version),您可以通过添加

来添加Python(在本例中为3.6)
INCLUDEPATH += /home/[username]/anaconda3/include/python3.6m

LIBS += -L/home/[username]/anaconda3/lib/ -lpython3.6m

到您的.pro文件。

如果您需要的Qt版本高于Anaconda提供的版本,请查看my question here。现在,您应该可以在应用程序中包含Python.h标头了。

备注:请记住,Python提供了自己的信号和插槽机制,显然可以与Qt冲突。这就是为什么我添加

CONFIG += no_keywords

复制到我的专业文件中,并替换了here中所述的所有信号和插槽出现。

答案 1 :(得分:1)

我不确定这是否适合您,但我会看看this article。它至少提供了一种从Qt应用程序中启动python解释器的方法。

我认为这可能有效,具体取决于事物的复杂性。

您可以在PythonQt上找到更多信息。

我不知道它将如何与外部软件包一起使用。

否则,您可以使用PySide2,它允许您使用python中的Qt5框架创建GUI。

希望对您有帮助。