library c++ python multithreading user-interface integration

library - Integración de la consola de Python en una aplicación GUI C++



graphics c++ (1)

Dado que aparentemente desea incorporar un intérprete de Python para utilizar Python como lenguaje de scripting en una aplicación que parece ser Qt, le sugiero que eche un vistazo a PythonQt .

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

A diferencia de PyQt y Qt Jambi, PythonQt no está diseñado para brindar 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í tus necesidades correctamente, eso es todo lo que necesitas.

PyQt y PySide (oficialmente compatibles con Nokia) apuntan a acceder a las funciones de Qt desde un programa de Python al proporcionar enlaces.

Es posible incorporar PyQt en su aplicación ( incluso una aplicación Qt ) 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 a través de subprocesos.

Referencias

Voy a agregar un widget de consola de Python (en una GUI de C ++) debajo de algunos otros controles:

Muchas clases se verán expuestas al código python, incluido el acceso a GUI (tal vez considero PyQt).

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

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