2012-06-30 82 views
7

我目前正在研究一個小型的C++ Qt 4.8(以及5.0版本,當它將被髮布)科學應用程序,並且我想知道是否可以嵌入Python + Numpy + Maptplotlib(並且有一個便攜式應用程序甚至可以沒有安裝Python的人)在一個C++ Qt應用程序中,以便在我的應用程序中創建漂亮的地塊?將Python/Numpy/Matplotlib嵌入到C++ Qt應用程序中?

是否有任何教程/例子可用這樣的事情?

非常感謝。

P.S. :我不得不生成臨時文件,但重要的是用戶不必安裝python。

+0

不是我見過的,但沒有太多的步驟。 –

回答

8

從C++處理Python的常見方法是使用Boost.Python,但是如果沒有它,也是可以相處的。

您需要記住的是「Python解釋器」由兩部分組成:Python DLL/SO和Python stdlib,兩者都需要提供。 Python安裝只添加了配置和一個可執行文件,這只是其他三個部分的簡單包裝。

由於您沒有配置,因此您需要使用PySys_SetPath()來設置sys.path以指向stdlib和其他任何軟件包。從那裏你可以使用C API的其餘部分來操作解釋器,就像使用本地安裝一樣。

+0

這讓你一個Python解釋器。現在請添加如何提供NumPy和Matplotlib。 –

+0

你......將它們放在一個目錄中並將其添加到'sys.path'中。那部分不會改變。 –