2010-01-10 5 views
25

Je vais ajouter un widget console python (dans une interface graphique C++) ci-dessous quelques autres contrôles: Python Console screenshotIntégration de la console Python dans une interface graphique application C++

De nombreuses classes vont être exposés au code python , y compris certains accès à l'interface graphique (peut-être que je vais considérer PyQt).

Dois-je exécuter le code Python dans un thread séparé?

Je pense que c'est une bonne approche, car l'interface graphique ne sera pas gelée lors de l'exécution de longues commandes. Mais d'un autre côté, les autres contrôles ne devraient-ils pas être désactivés pour préserver l'état des objets et éviter les conflits?

+7

L'image vaut 1 seul. La question est bonne, cependant. – balpha

+1

Oui, la photo est inspirante! –

Répondre

13

Puisque vous souhaitez apparemment intégrer un interpréteur Python pour utiliser Python comme langage de script dans une application qui semble être une application Qt, je vous suggère de regarder PythonQt. Avec le module PythonQt, les scripts Python peuvent interagir avec l'interface graphique de votre application hôte. Contrairement à PyQt et Qt Jambi, PythonQt n'est pas conçu pour prendre en charge les développeurs qui écrivent des applications autonomes. Contrairement à PyQt et Qt Jambi, PythonQt n'est pas conçu pour prendre en charge les développeurs qui écrivent des applications autonomes. Au lieu de cela, il fournit des facilités pour intégrer un interpréteur Python et se concentre sur le fait qu'il est facile d'exposer des parties de l'application à Python. Si j'ai bien compris vos besoins, c'est tout ce dont vous avez besoin.

PyQt et PySide (officiellement supporté par Nokia) visent à accéder aux fonctionnalités Qt à partir d'un programme Python en fournissant des liaisons.

Il est possible d'intégrer PyQt dans votre application (even a Qt application) et vos scripts Python pourront fournir leur propre interface graphique tout en interagissant avec votre API de script d'application. A propos de la sécurité des threads, Qt propose une manière sûre d'afficher des événements, ainsi que des connexions de tranche de signal à travers les threads.

Références: