2012-06-30 13 views
7

Attualmente sto lavorando su una piccola applicazione scientifica C++ Qt 4.8 (e 5.0 quando verrà rilasciata), e vorrei sapere se è possibile incorporare Python + Numpy + Maptplotlib (e avere un'app portatile anche per persone senza Python installato) in un'applicazione C++ Qt per realizzare bellissimi grafici all'interno della mia applicazione?Incorporare Python/Numpy/Matplotlib in un'applicazione Qt C++?

C'è qualche tutorial/esempio disponibile di una cosa del genere?

Grazie mille.

P.S. : non è un problema per me dover generare file temporanei, ma è importante che l'utente non abbia già installato python.

+0

Non che io abbia visto, ma non ci sono troppi passaggi. –

risposta

8

Il modo comune per gestire Python da C++ è con Boost.Python, ma è possibile andare d'accordo senza di esso.

Ciò che è necessario ricordare è che "l'interprete Python" è costituito da due parti: Python DLL/SO e Python stdlib, entrambi i quali è necessario fornire. L'unica cosa che aggiunge un'installazione Python è la configurazione e un eseguibile che è solo un sottile involucro attorno alle altre tre parti.

Dal momento che non si dispone di una configurazione, una volta che il interpreter is initialized è necessario utilizzare per impostare PySys_SetPath()sys.path per puntare al stdlib e dei pacchetti aggiuntivi. Da lì puoi utilizzare il resto dell'API C per manipolare l'interprete come faresti con un'installazione nativa.

+0

Questo ti dà un interprete Python. Ora per favore aggiungi come fornire anche NumPy e Matplotlib. –

+0

Tu ... mettili in una directory e aggiungili a 'sys.path'. Quella parte non cambia. –