2010-01-10 12 views
25

Voy a añadir un widget consola de Python (en un C++ GUI) por debajo de algunos otros controles GUI C++: Python Console screenshotIntegración de consola de Python en una aplicación

Muchas clases se va a estar expuesto al código Python , incluido algún acceso a GUI (tal vez consideraré PyQt).

¿Debo ejecutar el código Python en un hilo separado?

Creo que es un buen enfoque, porque la GUI no se congelará al ejecutar comandos largos. Pero, por otro lado, ¿no deberían desactivarse otros controles para preservar el estado de los objetos y evitar conflictos?

+7

La imagen por sí solo vale 1. La pregunta es buena, también, sin embargo. – balpha

+1

Sí, ¡la foto es un poco inspiradora! –

Respuesta

13

Dado que aparentemente quiere incrustar un intérprete de Python para usar Python como lenguaje de scripting en lo que parece ser una aplicación Qt, le sugiero que consulte PythonQt.

Con el módulo PythonQt, las secuencias de comandos de Python podrán interactuar con la GUI de su aplicación host.

A diferencia de PyQt y Qt Jambi, PythonQt no está diseñado para proporcionar soporte a los desarrolladores que escriben aplicaciones independientes. En cambio, proporciona facilidades para incrustar un intérprete de Python y se enfoca en facilitar la exposición de partes de la aplicación a Python.

Si entendí sus necesidades correctamente, eso es todo lo que necesita.

PyQt y PySide (con el respaldo oficial de Nokia) tienen como objetivo acceder a las funciones de Qt desde un programa de Python al proporcionar enlaces.

Es posible incrustar PyQt en su aplicación (even a Qt application) y sus scripts de Python podrán proporcionar su propia GUI mientras interactúan con la API de scripting de su aplicación.

Acerca de la seguridad de subprocesos, Qt ofrece una forma segura de subprocesos de publicar eventos y conexiones de ranura de señal entre subprocesos.

Referencias:

Cuestiones relacionadas