Busco a una forma en la que los elementos wxPython GUI se pueden añadir en pygame. Si hay una alternativa para resolver el propósito de agregar elementos de la GUI a un pygame, sugiéralo. Estoy teniendo problemas para instalar PGU. Gracias por la ayuda.Adición wxpython en pygame
Respuesta
Nop; PUEDE agregar wxWidgets a PyGame. Es trivial agregar diálogos de abrir/guardar, botones, etc. Algunas veces se pone desagradable cuando intentas compartir áreas (como arriba, hay sistemas de ventanas conflictivos), pero definitivamente es factible.
que escribí hace los años siguientes, por lo que es complicado; pero al menos es simple. Debería ayudarlo a comenzar:
class SDLThread:
def __init__(self,screen):
self.m_bKeepGoing = self.m_bRunning = False
self.screen = screen
self.color = (255,0,0)
self.rect = (10,10,100,100)
def Start(self):
self.m_bKeepGoing = self.m_bRunning = True
thread.start_new_thread(self.Run,())
def Stop(self):
self.m_bKeepGoing = False
def IsRunning(self):
return self.m_bRunning
def Run(self):
while self.m_bKeepGoing:
pass
## GetInput()
## Draw()
self.m_bRunning = False;
class SDLPanel(wx.Panel):
def __init__(self,parent,ID,tplSize):
global pygame
wx.Panel.__init__(self, parent, ID, size=tplSize)
self.Fit()
os.environ['SDL_WINDOWID'] = str(self.GetHandle())
os.environ['SDL_VIDEODRIVER'] = 'windib'
import pygame
pygame.init()
icon = pygame.Surface((1,1));icon.set_alpha(0);pygame.display.set_icon(icon)
global Surface
Surface = pygame.display.set_mode(tplSize)
self.thread = SDLThread(Surface)
self.thread.Start()
def __del__(self):
self.thread.Stop()
gracias esto me dio muchas ideas :) – hershey92
No creo que sea posible ya que wxPython (utilizando wxWidgets C++) es un envoltorio alrededor del sistema de gestión de ventanas, depende de las funciones del sistema operativo para dibujar en la pantalla (convierte a las llamadas del sistema correcto según el sistema operativo).
Pygame utiliza SDL y un código simple de sistema de gestión de ventanas, que denomina algunas funciones del sistema operativo sólo para crear la ventana y le dan a SDL para dibujar en ella, como un lienzo.
Una forma es:
- usando ctypes para hacer C pone en archivos de biblioteca del sistema operativo para dibujar los widgets nativos del sistema, de esta manera usted no está utilizando cualquiera de las funciones de pygame.
otra manera (feo y no estoy seguro si funciona):
- No sé cómo, pero encontrar una manera de convertir los widgets en objetos de búfer de imagen para utilizarlos como superficies lisas (mapas de bits).
lo que creo que debe hacer:
Uso pygame, construir su propia interfaz gráfica de usuario utilizando superficies y eventos de ratón/teclado para controlar o descargar algunos pre-hechos.
Pegue con wx, puede construir su GUI fácilmente en el tema nativo del sistema, también puede usar DC (dibujar contextos) para dibujar como pygame, y tal vez (no estoy seguro) incluir contexto pygame en wx como un widget. Puede beneficiarse de que wx tenga su propio controlador de eventos.
Espero que lo ayude de alguna manera.
- 1. wxPython o pygame para un simple juego de cartas?
- 2. ¿Qué puede hacer Pygame en términos de gráficos que wxPython no puede?
- 3. Múltiples pantallas en Pygame
- 4. transformando imágenes en pygame
- 5. Fuentes Unicode en PyGame
- 6. Cómo utilizar GFX en pygame
- 7. ¿Línea divisible redimensionable en wxpython?
- 8. ¿Cómo instalo wxPython en virtualenv
- 9. Finalización automática En wxPython wxComboBox
- 10. Focus-follows-mouse en wxPython?
- 11. Redes básicas con Pygame
- 12. ¿pyGame do 3d?
- 13. pygame code organization
- 14. Doble búfer con wxpython
- 15. wxPython StaticText Widget Fuente
- 16. ¿Qué gui toolkit debería usar con Pygame?
- 17. wxPython barra de progreso
- 18. Ejemplo de wxPython WebView
- 19. Batallando con wxpython
- 20. wxPython Frame ¿activar/desactivar?
- 21. Tutorial de WXpython
- 22. Pygame, sonidos no juegan
- 23. Pygame equivalent for Ruby?
- 24. cherrypy y wxpython
- 25. wxPython Disable Frame Frameizing
- 26. ¿Cómo mostrar la imagen en pygame?
- 27. Error al instalar Pygame en Mountain Lion
- 28. Representación SVG en una aplicación PyGame
- 29. Pygame en Windows: ImportError: DLL carga fallida
- 30. ¿Cómo hacer botones en python/pygame?
es sorprendente saber que python no tiene forma de agregar un botón, en Java fue muy sencillo. Por favor, demuéstrame que estoy mal – hershey92
Duplicado de http://stackoverflow.com/questions/8794506/adding-wxpython-gui-elements-in-a-pygame-physics-simulation. Continúe actualizando su pregunta original con más detalles sobre los problemas que está teniendo. –
es posible ya que lo he hecho antes. Aunque desearía que fuera más compatible. wxPython es mucho mejor que cualquier biblioteca GUI de pygame. ¡PGU apesta a lo grande! Ni siquiera te molestes en descargarlo. Es muy limitante para lo que puedes hacer cuando pones pygame en wxpython, aunque en cuanto a GUI, parece decente. – thelost