Estoy tratando de hacer una aplicación cereza con un wxpython ui. El problema es que ambas bibliotecas usan manejadores de eventos de bucle cerrado. ¿Hay alguna manera de que esto funcione? Si tengo el wx ui start cherrypy ¿eso va a encerrar a la interfaz de usuario?cherrypy y wxpython
Respuesta
Véase mi respuesta a CherryPy interferes with Twisted shutting down on Windows
En resumen, CherryPy maneja el bucle principal de forma predeterminada, pero definitivamente no necesita. Deje de usar el inicio rápido y llame al motor. Comience sin bloque de motor, y CP se ejecutará en sus propios hilos y dejará el hilo principal para que controle su otro marco.
Si utiliza el enhebrado, debería poder iniciar el servidor CherryPy en un hilo y ejecutar wxPython en el otro. Este artículo (http://wiki.wxpython.org/LongRunningTasks) en la wiki de wxPython contiene información sobre cómo enhebrar, y el código fuente del servidor CherryPy (http://www.cherrypy.org/browser/trunk/cherrypy/wsgiserver/__init__.py) contiene cierta documentación sobre cómo funciona el servidor y, posiblemente, cómo puede lograr que interactúe con los hilos.
Una forma de desacoplarlos sería iniciarlos como dos procesos separados y hacer que se comuniquen a través de algún tipo de mecanismo de IPC. Puede que tenga que escribir un adaptador pequeño para que hablen un protocolo común.
Como está haciendo CherryPy, también podría exponer una interfaz de control a través de HTTP que la GUI de wx puede usar para controlar su servidor.
Le animo a que eche un vistazo al Caliber (administrador de libros electrónicos) source. Está escrito en PyQT, pero usa CherryPy para permitir que las personas vean su biblioteca desde fuera de su LAN.
- 1. fastcgi, cherrypy y python
- 2. CherryPy y RESTful web api
- 3. Frasco, CherryPy y contenido estático
- 4. Force CherryPy Child Threads
- 5. Ejemplo multiproceso de Cherrypy
- 6. Gráficos 3D/4D con Python y wxPython?
- 7. Cherrypy vs. Apache/mod_wsgi
- 8. CherryPy Hello World error
- 9. Cómo obtener CherryPy versión
- 10. Doble búfer con wxpython
- 11. Consumo de memoria en Cherrypy
- 12. cómo cerrar el servidor cherrypy?
- 13. URL dinámica con cherrypy MethodDispatcher
- 14. 2 vías SSL con CherryPy
- 15. wxPython Frame ¿activar/desactivar?
- 16. wxPython barra de progreso
- 17. Creador de URL para CherryPy
- 18. Archivos estáticos html en Cherrypy
- 19. Batallando con wxpython
- 20. Ejemplo de wxPython WebView
- 21. wxPython StaticText Widget Fuente
- 22. Adición wxpython en pygame
- 23. wxPython Disable Frame Frameizing
- 24. Tutorial de WXpython
- 25. Cambiar el puerto de Cherrypy y reiniciar el servidor web
- 26. Cómo instalar wxPython usando virtualenv
- 27. wxPython: Actualizar la lista wx.ListBox
- 28. WxPython ¿Incompatible con Snow Leopard?
- 29. ¿Línea divisible redimensionable en wxpython?
- 30. ¿Cómo instalo wxPython en virtualenv
¿Puede describir su aplicación un poco? No estoy seguro de cómo está integrando un servidor web y una GUI. –
Su pregunta suena como dos hobbits – Manu