tutorial - qt designer python
Programación de interfaz de usuario OPENGL (9)
Estoy desarrollando una aplicación gráfica para presentar datos (no un juego, sino una aplicación real de caballo de batalla). Tiene que ser multiplataforma, así que he elegido:
- pitón
- OpenGL (necesito 3D, mezcla, texturas, etc.)
- pyopengl
- wx / pywx - ventanas, diálogos, etc.
El último componente, WX, plantea la pregunta. Puedo armar una aplicación muy atractiva (los prototipos se ven perfectos), pero cuando necesito interactuar con el usuario para hacer preguntas, obtener información, tengo que usar WX. Hace que la aplicación parezca incompatible con la interfaz de usuario tradicional con los diálogos tradicionales y los combos y la entrada de texto en la parte superior de una aplicación 3D a pantalla completa con mezcla, movimiento suave, texturas, etc.
¿Alguien ha desarrollado una GUI usando OpenGL y python? ¿Puedes compartir conmigo los toolkits y / o trucos que usaste? Necesito combos, entrada de texto, botones, radios, botones de opción, vista de árbol.
Hay algunos juegos de herramientas por ahí, pero están incompletos o viejos y no están en mantenimiento. Un gran ejemplo es pyUI ( http://pyui.sourceforge.net/ ): se ve impecable pero intacto durante años.
Tanto wx como QT hacen un excelente trabajo al crear una aplicación que coincida con la apariencia del sistema operativo. También es posible implementar todos los widgets directamente en la apertura, esta publicación de slashdot enumera algunos de los conjuntos disponibles
http://ask.slashdot.org/askslashdot/02/12/24/1813219.shtml?tid=156 fox es probablemente el más desarrollado, pero se parece a Windows en todas las plataformas.
Es posible que desee mirar a Clutter , se ve muy bien. No lo he usado todavía, pero tengo la intención de hacerlo en un próximo proyecto personal.
Prueba Qt en lugar de wx.
QT es multiplataforma, y puedes peinar mucho usando CSS. Está extremadamente bien documentado y tiene excelentes enlaces de python. De hecho, utilizo la documentación de C ++ y no la documentación de PyQT.
Esta no es una respuesta, más que un alegato: por favor no hagas eso.
Sus widgets reimplementados carecerán de todo tipo de funcionalidad que los usuarios perderán. ¿Sus cuadros de entrada de texto son compatibles con arrastrar y soltar? ¿Copiar pegar? ¿Guiones de derecha a izquierda? Arrastrar y seleccionar? Hacer doble clic-seleccionar? ¿Todos estos mecanismos seguirán las convenciones nativas de cada plataforma que respaldes?
Con Wx sus widgets pueden parecer inconsistentes con la aplicación, pero al menos se verán consistentes con el sistema operativo, que es igual de importante. Y más importante aún, harán lo que los usuarios esperan.
(editar) ¿Tres publicaciones y -3 puntos? Atornilla esta guarida de karma-putas. Cartel original: Implementé un conjunto básico de widgets en OpenGL (para la interfaz de usuario de un juego) y fue una pesadilla interminable de trabajo.
Python + Qt + OpenGL: seguramente creo que cualquier aplicación se puede escribir más rápido y mejor usando Python. QT4 es multiplataforma, bonito, implementa todo lo que necesita de widgets (accesibilidad, etc.), y ... se integra con OpenGL. Eso significa que simplemente puede tener un widget que sea una ventana gráfica para abrir cosas GL que represente en su código.
Otra solución capaz de 3D que cubriría la mayoría de las cosas, pero no tan nioce en la interfaz del usuario, es extender Blender3D con una secuencia de comandos python. Tiene las capacidades y el renderizado en 3D, usted lo script en Python de todos modos, y sería multiplataforma, y obtendrá herramientas de nivel superior para trabajar con las cosas en 3D que OpenGL solo. Hay inconvenientes obvios, principalmente desde el punto de vista de la interfaz de usuario en comparación con PyQT, pero podría hacerse.
En las últimas versiones de QT puede dibujar widgets en su contexto de OpenGL, si realmente desea hacer algo como eso. De lo contrario, hay CEGui que se usa en algunos motores de juegos.
Implementar los widgets de GUI usted mismo, a menos que quiera edificarse a sí mismo, es una pérdida de tiempo, a menos que esté satisfecho con el aspecto y la funcionalidad más rudimentarios.
Blender es la única aplicación que conozco con una GUI escrita completamente en OpenGL ... el único problema es que está en C ++.
También soy desarrollador de Python, pero estoy empezando a usar OGL
Honestamente, no creo que haya ningún kit de herramientas para desarrollar una GUI en OGL ...
los desarrolladores de Blender me están dando documentación sobre el funcionamiento en lugar de ayuda directa ... pero les haré saber lo que averigüe;)
EDITAR: aquí hay un poco de documentación sobre las funciones de PyOpenGL: http://pyopengl.sourceforge.net/documentation/manual/reference-GLUT.html
mi amigo.
Creo que encontré tu respuesta;)
http://glinter.sourceforge.net/
Todavía no lo he intentado, pero parece bastante prometedor. (Editaré esto si no funciona)
EDITAR:
eh ...
usa Tk, PMW y WX ...
(no es lo que quiero)
puedes probar la descarga de CVS ...
(no hay paquetes lanzados, pero se ejecuta el CVS)
" cegui " es una buena elección. También hay un editor de gui llamado "ceed" para generar los archivos xml de diseño. cegui también tiene enlaces de python y está bien documentado y utilizado en muchos motores de juegos