Esiste un Designer GUI per Python?


107

Esiste un ID GUI per la programmazione di Python proprio come Java ha netbeans?

Ne volevo uno in cui potessimo trascinare e rilasciare caselle di prova ed etichette proprio come facciamo nei componenti swing utilizzando netbeans o eclipse.

O c'è un componente aggiuntivo presente in netbeans o eclissi stesso?


Hai guardato nel Software Center di Ubuntu alcuni degli elementi elencati in Strumenti per gli sviluppatori> Python?
Christopher Kyle Horton,

4
Consiglio personalmente di provare a creare qualcosa a mano seguendo un tutorial, perché se non capisci come interagiscono gli elementi tra loro, avrai difficoltà a far funzionare i pulsanti e così via.
Ivo Flipse

1
Nota però che, per qualsiasi cosa non banale, le app gtk che non usano glade o qualcosa di simile sembreranno abbastanza brutte e complicate molto rapidamente. Anche usando glade, avrai ancora molte possibilità di conoscere il pygtk api.
Stefano Palazzo

Ho votato per qualcosa come Visual Studio per Python?
Abdul Qayyum,

Risposte:


103

Radura Installa glade

Se vuoi un designer con GUI wysiwyg, Glade è la soluzione migliore:

  • per prima cosa, installare gladedal centro software
  • crea la tua GUI, salvala come, diciamo, myapp.glade

    inserisci qui la descrizione dell'immagine

  • Vai alla scheda Segnali e imposta il tuo callback, ad esempioon_window1_destroy

  • Nel tuo programma Python, comunica a GTK di caricare le definizioni dell'interfaccia utente

    import gtk
    
    
    class MyApp (object):
    
        def __init__(self):
            self.builder = gtk.Builder()
            self.builder.add_from_file("myapp.glade")
            self.builder.connect_signals(self)
    
        def run(self):
            self.builder.get_object("window1").show_all()
            gtk.main()
    
        def on_window1_destroy(self, *args):
            gtk.main_quit()
    
    
    MyApp().run()
    

Dopo aver impostato tutto, puoi immergerti direttamente nel tutorial di Glade (come menzionato da Jeremy Kerr nella sua risposta). Inizia imparando le diverse opzioni e segnali di lay-out.


Velocemente Installa rapidamente

Quando ti senti a tuo agio con Glade, puoi iniziare a usarlo tramite Quickly, che è un insieme di programmi per rendere molto semplici le attività comuni nello sviluppo di software. Si occupa delle traduzioni, della memorizzazione della configurazione, del packaging, dell'integrazione del launchpad inclusi gli PPA e molto altro:

sudo apt-get install quickly
quickly create ubuntu-application hello-world
cd hello-world/

Ora crea rapidamente un grande progetto con tutto ciò di cui hai già bisogno. Una GUI, i file di traduzione, la configurazione tramite desktopcouch e così via.

Vedrai rapidamente impostare alcune finestre (l'app principale, la configurazione e una finestra di dialogo) per te. Per iniziare a modificare la tua GUI:

  • correre quickly design

    inserisci qui la descrizione dell'immagine

  • Per accedere al codice dell'app, esegui quickly edit

  • Vai al HelloWorldWindow.pyfile

  • Ora inizia ad aggiungere gestori di segnale e logica.

Infine, per eseguire l'applicazione, digitare quickly run.

A questo punto, è possibile accedere alla documentazione di PyGTK per conoscere i segnali, le firme dei gestori, i diversi metodi dei widget e così via.


Vedi anche alcune domande correlate:


2
Questa risposta è così buona che sarà un punto di riferimento per gli altri :)
Nathan Osman,

1
Ho trovato glade un RAD terribile e difettoso.
Renatov,

49

Qt-Designer

PyQt viene fornito con Qt 's Designer , che è un editor grafico GUI piuttosto carino, se hai voglia di scrivere la tua app con il framework Qt.

Schermata di Qt Designer

Qt Creator

Il nuovo IDE di Qt ha il pieno supporto sia per la progettazione di widget (come designer sopra) sia per le applicazioni QtQuick, che è meglio per applicazioni leggere, fluide e abilitate al tocco (ad es. Tablet / app mobili)


23

Stai cercando un IDE completo (ad es. Editor di codice, ambiente di runtime, strumenti di layout dell'interfaccia utente) o solo un'utilità per creare l'interfaccia utente?

Se cerchi un ambiente di programmazione completo, dai un'occhiata al set di strumenti Quickly .

Se stai solo cercando di progettare interfacce, puoi usare il designer 'glade' per strutturare la tua interfaccia usando i widget GTK, quindi caricare quella definizione dell'interfaccia utente in qualsiasi programma Python. Esiste un tutorial di programmazione della GUI per GTK + e Glade3 (con esempi sia Python che C).


14

Eric IDE Installa eric

Prova con Eric IDE. Penso che sia il miglior IDE sia per Python che per Qt4.

Eric IDE


2
Perché questo è stato downvoted ?. Eric è una bella GUI Python che integra lo sviluppo QT. Può progettare GUI (usando QT Designer) e persino compila i file .ui in python (non è necessario usare la riga di comando). È un po 'un Eclipse o Visual Studio per pyQt. È troppo pesante per i miei gusti, ma è un'opzione interessante per gli altri.
Javier Rivera,

@JavierRivera: probabilmente perché sembra un IDE, non un designer della GUI.
Jeremy Kerr,

8

wxFormBuilder

Dipende anche dal toolkit del widget che si desidera utilizzare. Preferisco wxWidgets con python, wxPython .

Quindi la mia preferenza per la creazione della GUI è wxFormBuilder , è disponibile dal seguente PPA:

Ha il semplice trascinamento della selezione dei widget su una tela e puoi passare rapidamente alla scheda del codice per vedere cosa ha generato, che al mio occhio non ordinato è pulito e ordinato. Come dice il nome sulla scatola, è un form builder, questo è ciò in cui è specializzato. Quindi non aspettarti di sviluppare un progetto completo con esso, tuttavia se ti piace mantenere il design del modulo separato dal codice di analisi, allora fa il lavoro bene.


1
La versione standard di Ubuntu non può generare codice Python per qualche motivo. Spero che la versione PPA non abbia questo problema.
Christoph,

1
sì, la versione PPA può generare codice Python.
Christoph,

3

C'è un nuovo bambino in città: Camelot . È progettato per creare GUI molto rapidamente. Ti aiuta a concentrarti sulla tua applicazione, piuttosto che sul codice della GUI. I manutentori dicono

Camelot fornisce componenti per la creazione di applicazioni aziendali su Python, SQLAlchemy e Qt . È ispirato all'interfaccia di amministrazione di Django. È possibile utilizzare Camelot per sviluppare applicazioni aziendali semplici e complesse a velocità di curvatura.

Il framework è stato presentato più volte in incontri internazionali su Python. I suoi vantaggi sono

Vantaggi per gli sviluppatori

  • Oltre a tecnologia comprovata e di alta qualità

  • Le viste sono associate al modello dati senza scrivere codice

  • Personalizzabile tramite il framework Azioni

  • Documentato dal tutorial introduttivo per la stampa di report

  • Velocità di trasmissione a soluzione distribuibile

Vantaggi per l'utente

  • GUI reattiva e familiare

  • Editor e controlli di alta qualità

  • Tonnellate di funzioni integrate come importazione, esportazione, stampa, backup e ripristino

  • Mappato ai processi aziendali

Controlla http://www.python-camelot.com/ per maggiori informazioni, presentazioni, video di YouTube e altro.

disclaimer: l'ho visto in azione e ho parlato con gli sviluppatori. Potrei essere di parte, ma sinceramente credo che sia un ottimo software.


2

SharpDevelop

Schermata di SharpDevelop

SharpDevelop è per lo sviluppo di applicazioni basate su .Net Framework. Supporta IronPython e ha un designer di GUI per WinForm, Silverlight, WPF Application. Sebbene Visual Studio abbia anche vari designer di GUI per IronPython, tuttavia non ha una GUI per WinForm.


1

nessuno ha menzionato uno strumento che è abbastanza utile in altre lingue e potrebbe essere conosciuto avviando l'utente - Eclipse ha una prospettiva per Python chiamata PyDev.


Eclipse può creare una GUI? Anche a Giava?
Eric Wilson,

@FarmBoy: sì, può.
RolandiXor

1
La prospettiva di Pydev ha un designer della GUI?
Stefano Palazzo


-4

Il miglior IDE Python di sempre è PyCharm. Ma non è gratuito e non ha un designer GUI. http://www.jetbrains.com/pycharm/index.html


8
L'OP ha affermato espressamente che voleva un progettista di GUI.
Fouric

2
in realtà, l'edizione della community è gratuita (4.5) e, per essere onesti, nessuna delle altre risposte ha fornito un IDE per la costruzione della GUI, menzionano solo soluzioni semi-armate per aggirarlo --- e per la cronaca, PyCharm è un buon suggerimento fintanto che sai come usarlo (e sì, può essere usato con i costruttori della GUI come gli altri) - potresti voler aggiungere quella nota alla tua risposta se vuoi recuperare alcuni dei rappresentanti persi
Osirisgothra,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.