2010-01-26 7 views

risposta

1

Here avete una spiegazione su come integrare e fare interagire wxPython e Pygame.

Il miglior toolkit GUI nelle mie opinioni è wxPython (un binding per wxWidgets) che ha widget GUI per praticamente tutto compreso un widget OpenGL e alcuni work sono stati eseguiti anche con SDL.

10

Non usare wxPython, è molto difficile riuscire a lavorare bene con Pygame, come descritto sopra allo GUI section della wiki di Pygame.

Prima di tutto, pygame si basa sulla SDL, il che significa che si può avere solo una finestra alla volta. Pertanto, provare a implementare più istanze di applicazioni Gtk, Qt, ... che utilizzano pygame, è impossibile. Il secondo motivo problematico è che i toolkit utilizzano il proprio loop principale, , che probabilmente obbliga a reindirizzare gli eventi all'istanza pygame e viceversa. E per citarne alcuni altri punti in breve: Disegnare gli elementi del toolkit nella finestra pygame è impossibile e la modalità schermo intero SDL/pygame sarà problematica.

Invece, scegliere una delle librerie elencate in fondo a quella pagina. Io uso pgu me stesso.

4

Albow e Ocemp non vengono mantenuti attivamente. PGU viene ora gestito da Peter Rogers e Victor Kam ne ha convertito la maggior parte in Python 3.

Esistono 5 toolkit pygame GUI che ho provato a eseguire in Python 3: Albow, GooeyPy, PGU, pqGUI e sgc. (Non ho avuto GooeyPy lavorare con Python 3, ma gli altri hanno fatto.)

ho corse ciascuno di loro attraverso un semplice contatore http://code.activestate.com/recipes/527746-line-of-code-counter/ Linee-di-codice per valutare le loro dimensioni:

Questi sono i risultati:

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) 

(. volevo provare anche poutine, da Shandy Brown, ma non riuscivo a trovarlo)

In ogni caso, il numero di "min" è più rappresentativo della "dimensione" dello strumento kit, dal momento che non conta spazi bianchi e commenti.

Quando il numero "max" è molto vicino al numero min, significa che non ci sono molti spazi bianchi e non molti commenti nel codice.pqGUI lo esemplifica, perché non ha quasi nessun commento, il che è un peccato, perché (IMO) rende i widget più belli.

Mi è piaciuto pqGUI perché mi piace l'aspetto dei widget che crea, ma non è supportato e non documentato e non riesco a trovare l'autore.

Solo due dei cinque sono attivamente mantenuti/sviluppati: PGU e SGC e SGC sono nuovi e incompleti.

Ciò rende PGU il leader indiscusso.

Dave


P.S. (23/10/2012) - Ho creato un kit di strumenti GUI per PyGame. È basato su widget e utilizza gli eventi pygame per la comunicazione, in modo che possa essere facilmente inserito in un programma pygame esistente, senza occupare il ciclo degli eventi. Supporta moduli, pulsanti, finestre, modal & caselle di messaggio non modali & finestre di dialogo, menu verticali, caselle di immissione testo e cursori (barre di scorrimento). Gestisce senza problemi controlli e moduli sovrapposti all'interno dei moduli.

Tuttavia, non è veramente completo: mancano alcuni controlli che probabilmente vorrai, ad esempio finestre di dialogo e tabelle aperte con file. I controlli esistenti sono carini, ma le barre di titolo barre di titolo & sono numeri fissi di pixel in larghezza, piuttosto che ridimensionabili. Il codice è ben commentato, e c'è un'app demo con esempi di utilizzo, ma non esiste una documentazione adeguata. Ed è pre-beta, quindi tutto è soggetto a modifiche.

Se, nonostante queste limitazioni, qualcuno vuole provarlo, contattami via email. Chiedi di "DavesGUI". Il mio indirizzo email è qui: http://www.burtonsys.com/email/