2010-01-26 13 views

Respuesta

1

Here tiene una explicación sobre cómo integrar y hacer interactuar wxPython y Pygame.

Mejor kit de herramientas GUI en mis opiniones es wxPython (un enlace para wxWidgets) que tiene widgets GUI para prácticamente todo, incluso un widget OpenGL y algunos work se ha hecho con SDL también.

10

No use wxPython, es muy difícil ponerse a trabajar bien con Pygame, como se describe en el GUI section de la wiki de Pygame.

En primer lugar, pygame se basa en la SDL, lo que significa que sólo puede tener una ventana a la vez. Por lo tanto, tratando de implementar múltiples casos de aplicación Gtk, Qt, ... que usan pygame, es una imposibilidad. La segunda razón problemática de es que esos kits de herramientas usan su propio bucle principal, , que posiblemente fuerce a canalizar sus eventos a su instancia de pygame y viceversa. Y para mencionar algunos otros puntos en resumen: Dibujar los elementos del juego de herramientas en la ventana de pygame es imposible y el modo de pantalla completa SDL/pygame será problemático.

En su lugar, opte por cualquiera de las bibliotecas enumeradas en la parte inferior de esa página. Yo uso el pgu.

4

Albow y Ocemp no se mantienen activamente. PGU ahora es mantenido por Peter Rogers, y Victor Kam ha convertido la mayor parte a Python 3.

Hay 5 juegos de herramientas GUI de pygame que he intentado ejecutar en Python 3: Albow, GooeyPy, PGU, pqGUI y sgc. (No he tenido GooeyPy para trabajar con Python 3, pero los otros lo hicieron.)

me corrieron cada uno de ellos a través de un simple contador de Líneas-De-Code http://code.activestate.com/recipes/527746-line-of-code-counter/ para medir sus tamaños:

Estos son los resultados:

Albow code  min=2810, max=4551 (max = 162% of min) 
Albow\demo  min= 453, max= 649 

GooeyPy\gooeypy min=2034, max=3941 (max = 194% of min) 
GooeyPy\examples min= 178, max= 351 

pgu\pgu   min=2910, max=7047 (max = 242% of min) 
incl. pgu\pgu\gui min=1678, max=4638 (max = 276% of min) 
pgu\examples  min= 822, max=2527 

pqGUI.py   min=1586, max=1834 (max = 116% of min) 
Example.py  min= 178, max= 225 

sgc (incomplete) min= 889, max=1243 (max = 140% of min) 

(. quería probar también poutine, por Shandy Brown, pero no pude encontrar)

En cada caso, el número "min" es más representativo de la "tamaño" de la herramienta kit, ya que no cuenta espacios en blanco y comentarios.

Cuando el número "máximo" está muy cerca del número mínimo, significa que no hay mucho espacio en blanco y no hay muchos comentarios en el código.pqGUI lo ejemplifica, porque casi no tiene ningún comentario, lo cual es una lástima, porque (IMO) hace los widgets más bonitos.

Me gustó pqGUI porque me gusta el aspecto de los widgets que hace, pero no está soportado ni documentado, y no puedo encontrar el autor.

Solo dos de los cinco se mantienen/desarrollan activamente: PGU y sgc, y sgc es nuevo e incompleto.

Eso convierte a PGU en el líder indiscutible.

de Dave


P. S. (23/10/2012) - He creado un kit de herramientas de interfaz gráfica de usuario para PyGame. Se basa en widgets y utiliza eventos de pygame para la comunicación, de modo que se puede colocar fácilmente en un programa de pygame existente, sin tomar el control del bucle de evento. Admite formularios, botones, ventanas, modal & cuadros de diálogo no modales & cuadros de diálogo, menús verticales, cuadros de entrada de texto y controles deslizantes (barras de desplazamiento). Controla sin problemas los controles superpuestos y formularios dentro de formularios.

Sin embargo, no está realmente completo: le faltan algunos controles que probablemente quiera, como cuadros de diálogo y abrir archivos. Los controles que sí existen se ven bien, pero las características como barras de título & barras de desplazamiento son números fijos de píxeles de ancho, en lugar de redimensionables. El código está bien comentado, y hay una aplicación de demostración con ejemplos de uso, pero no hay una documentación apropiada sobre cómo usarla. Y es pre-beta, por lo que todo está sujeto a cambios.

Si, a pesar de esas limitaciones, alguien quiere probarlo, contácteme por correo electrónico. Pregunte sobre "DavesGUI". Mi dirección de correo electrónico está aquí: http://www.burtonsys.com/email/

Cuestiones relacionadas