Gibt es einen GUI-Designer für Python?


107

Gibt es eine GUI-IDE für die Programmierung von Python, genau wie Java Netbeans hat?

Ich wollte eine, in der wir Testboxen und Etiketten per Drag & Drop verschieben können, genauso wie wir es bei Swing-Komponenten mit Netbeans oder Eclipse tun.

Oder gibt es ein Add-On in Netbeans oder in Eclipse selbst?


Haben Sie sich im Ubuntu Software Center einige der unter Entwicklertools> Python aufgelisteten Elemente angesehen?
Christopher Kyle Horton

4
Ich persönlich empfehle, nach einem Tutorial etwas von Hand zu basteln. Wenn Sie nicht verstehen, wie die von Ihnen gezeichneten Elemente miteinander interagieren, fällt es Ihnen schwer, Schaltflächen zum Funktionieren zu bringen.
Ivo Flipse

1
Beachten Sie jedoch, dass GTK-Apps, die keine Lichtung oder ähnliches verwenden, für alles, was nicht trivial ist, sehr schnell ziemlich hässlich und kompliziert aussehen. Selbst wenn Sie Glade verwenden, haben Sie immer noch viele Chancen, etwas über die Pygtk-API zu lernen.
Stefano Palazzo

Ich habe für irgendetwas wie Visual Studio für Python gestimmt?
Abdul Qayyum

Antworten:


103

Lichtung Installieren Sie Lichtung

Wenn Sie einen Wysiwyg-GUI-Designer suchen, ist Glade die beste Wahl:

  • Installieren Sie zuerst gladeaus dem Software-Center
  • erstelle deine GUI, speichere sie als myapp.glade

    Bildbeschreibung hier eingeben

  • Gehen Sie zur Registerkarte " Signale" und richten Sie Ihren Rückruf ein, zon_window1_destroy

  • Weisen Sie GTK in Ihrem Python-Programm an, die UI-Definitionen zu laden

    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()
    

Nachdem Sie alles eingerichtet haben, können Sie direkt in das Glade-Tutorial eintauchen (wie Jeremy Kerr in seiner Antwort erwähnt hat). Machen Sie sich zunächst mit den verschiedenen Optionen und Signalen für das Layout vertraut.


Schnell Schnell installieren

Wenn Sie sich mit Glade wohl fühlen, können Sie es über Quickly verwenden. Hierbei handelt es sich um eine Reihe von Programmen, mit denen Sie die bei der Entwicklung von Software üblichen Aufgaben ganz einfach erledigen können. Es kümmert sich um Übersetzungen, das Speichern von Konfigurationen, das Packen, die Integration von Launchpads einschließlich PPAs und vieles mehr:

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

Erstellt jetzt schnell ein riesiges Projekt mit allem, was Sie bereits eingerichtet haben. Eine GUI, die Übersetzungsdateien, Konfiguration über Desktopcouch und so weiter.

Sie werden sehen, wie schnell ein paar Fenster (die Haupt-App, Konfiguration und ein Info-Dialog) für Sie eingerichtet werden. So bearbeiten Sie Ihre GUI:

  • Lauf quickly design

    Bildbeschreibung hier eingeben

  • Führen Sie den folgenden Befehl aus, um zum Code der App zu gelangen quickly edit

  • Gehe zur HelloWorldWindow.pyDatei

  • Fügen Sie nun Signalhandler und Logik hinzu.

Zum Schluss geben Sie ein, um Ihre Anwendung auszuführen quickly run.

An diesem Punkt können Sie in die PyGTK-Dokumentation einsteigen, um mehr über die Signale, die Signaturen der Handler, die verschiedenen Methoden der Widgets usw. zu erfahren.


Siehe auch einige verwandte Fragen:


2
Diese Antwort ist so gut, es wird ein Maßstab für andere sein :)
Nathan Osman

1
Ich fand Lichtung ein schreckliches und fehlerhaftes RAD.
Renatov

49

Qt-Designer

PyQt wird mit Qt 's Designer geliefert , einem hübschen grafischen GUI-Editor, wenn Sie Ihre App mit dem Qt-Framework schreiben möchten.

Qt Designer-Screenshot

Qt Creator

Die neue IDE von Qt bietet umfassende Unterstützung sowohl für das Entwerfen von Widgets (als Designer oben) als auch für QtQuick-Anwendungen. Dies ist besser für leichte, flüssige, touchfähige Anwendungen (z. B. Tablet / Mobile-Apps).


23

Benötigen Sie eine vollständige IDE (dh Code-Editor, Laufzeitumgebung, UI-Layout-Tools) oder nur ein Dienstprogramm zum Erstellen der Benutzeroberfläche?

Wenn Sie eine vollständige Programmierumgebung suchen, sehen Sie sich das Quickly Toolset an .

Wenn Sie nur Oberflächen entwerfen möchten, können Sie den Glade-Designer verwenden, um Ihre Oberfläche mit GTK-Widgets zu gestalten, und diese UI-Definition dann in ein beliebiges Python-Programm laden. Es gibt ein GTK + - und ein Glade3-GUI-Programmier-Tutorial (mit Python- und C-Beispielen).


14

Eric IDE Installiere eric

Versuche es mit Eric IDE. Ich denke, es ist die beste IDE für Python und Qt4.

Eric IDE


2
Warum wurde das abgelehnt? Eric ist eine nette Python-GUI, die die QT-Entwicklung integriert. Es kann GUIs entwerfen (mit QT Designer) und kompiliert sogar die .ui-Dateien in Python (ohne die Befehlszeile verwenden zu müssen). Es ist ein bisschen eine Eclipse oder Visual Studio für pyQt. Es ist zu schwer für meinen Geschmack, aber es ist eine interessante Option für andere.
Javier Rivera

@ JaverRivera: wahrscheinlich, weil dies wie eine IDE aussieht, kein GUI-Designer.
Jeremy Kerr

8

wxFormBuilder

Es hängt auch davon ab, welches Widget-Toolkit Sie verwenden möchten. Ich bevorzuge wxWidgets mit Python, wxPython .

Ich bevorzuge es, die GUIs mit wxFormBuilder zu erstellen. Folgende PPAs stehen zur Verfügung:

Es hat das nette einfache Ziehen und Ablegen von Widgets auf eine Leinwand, und Sie können schnell zur Code-Registerkarte wechseln, um zu sehen, was sie erzeugt hat, was für mein ungebildetes Auge sauber und übersichtlich ist. Wie der Name schon sagt, ist es ein Formularersteller, auf den es sich spezialisiert hat. Erwarten Sie also nicht, ein vollständiges Projekt damit zu entwickeln. Wenn Sie jedoch den Formularentwurf vom Analysecode trennen möchten, ist dies der Fall Arbeit gut.


1
Die Ubuntu-Standardversion kann aus irgendeinem Grund keinen Python-Code generieren. Ich hoffe, die PPA-Version hat dieses Problem nicht.
Christoph

1
Ja, die PPA-Version kann Python-Code generieren.
Christoph

3

Es gibt ein neues Kind in der Stadt: Camelot . Es wurde entwickelt, um GUIs sehr schnell zu erstellen. Es hilft Ihnen, sich auf Ihre Anwendung anstatt auf GUI-Code zu konzentrieren. Die Betreuer sagen

Camelot bietet Komponenten zum Erstellen von Geschäftsanwendungen auf der Basis von Python, SQLAlchemy und Qt . Es ist inspiriert von der Django-Administrationsoberfläche. Mit Camelot können Sie sowohl einfache als auch komplexe Geschäftsanwendungen mit Warp-Geschwindigkeit entwickeln.

Das Framework wurde mehrmals in internationalen Python-Meetings vorgestellt. Ihre Vorteile sind

Vorteile für Entwickler

  • Hochwertige und bewährte Technologie

  • Ansichten sind an Datenmodelle gebunden, ohne Code zu schreiben

  • Anpassbar über das Aktions-Framework

  • Dokumentiert vom Einführungstutorial bis zum Berichtsdruck

  • Warpspeed zu implementierbarer Lösung

Anwendervorteile

  • Ansprechende und vertraute Benutzeroberfläche

  • Hochwertige Editoren und Steuerelemente

  • Tonnenweise integrierte Funktionen wie Importieren, Exportieren, Drucken, Sichern und Wiederherstellen

  • Auf Geschäftsprozesse abgebildet

Weitere Informationen, Präsentationen, YouTube-Videos und mehr finden Sie unter http://www.python-camelot.com/ .

Haftungsausschluss: Ich habe dies in Aktion gesehen und mit den Entwicklern gesprochen. Ich bin vielleicht voreingenommen, aber ich glaube ehrlich, dass dies großartige Software ist.


2

SharpDevelop

SharpDevelop-Screenshot

SharpDevelop dient zur Entwicklung von Anwendungen auf der Basis von .Net Framework. Es unterstützt IronPython und verfügt über einen GUI-Designer für WinForm, Silverlight und WPF-Anwendungen. Visual Studio hat zwar auch verschiedene GUI-Designer für IronPython, jedoch keine GUI für WinForm.


1

Keiner hat ein Tool erwähnt, das in anderen Sprachen häufig verwendet wird und das vom Startbenutzer erkannt werden könnte. Eclipse hat eine Perspektive für Python mit dem Namen PyDev.


Kann Eclipse eine GUI erstellen? Auch in Java?
Eric Wilson

@ FarmBoy: ja, das kann es.
RolandiXor

1
Hat die pydev-Perspektive einen GUI-Designer?
Stefano Palazzo


-4

Die beste Python-IDE aller Zeiten ist PyCharm. Aber es ist nicht kostenlos und es hat keinen GUI-Designer. http://www.jetbrains.com/pycharm/index.html


8
Das OP erwähnte ausdrücklich, dass er einen GUI-Designer haben wollte.
Fouric

2
Tatsächlich ist die Community Edition kostenlos (4.5) und um ehrlich zu sein, keine der anderen Antworten lieferte wirklich eine GUI-gestaltende IDE. Sie erwähnen nur halbherzige Lösungen, um das Problem zu umgehen Ein guter Vorschlag, solange Sie wissen, wie man es verwendet (und ja, es kann mit GUI-Buildern genauso verwendet werden wie mit den anderen). Sie können diese Notiz zu Ihrer Antwort hinzufügen, wenn Sie einen Teil der verlorenen Repräsentanten wiederherstellen möchten
Osirisgothra
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.