Frage

Ich habe eine wenig Erfahrung kleine Kommandozeilen-Anwendungen in Python zu entwickeln. Ich möchte auf dem Weg zu GUIs mit Python zu entwickeln. Von den verfügbaren GUI-Toolkits für Python, fühlen sich die, die ich am meisten geneigt sind WxPython und Tkinter ; aber ich will nicht alle der GUI von mir die ganze Zeit codieren.

Gibt es gute GUI IDEs für jede dieser Toolkits? Es braucht nicht frei oder Open-Source zu sein.

War es hilfreich?

Lösung

werde ich nur über WxPython sprechen, weil es das einzige Toolkit Ich habe Erfahrung mit. TkInter ist schön, kleine Programme zu schreiben (dann ist es nicht ein GUI-Designer benötigen), ist aber nicht wirklich geeignet für große Anwendungsentwicklung.

  • wxFormBuilder ist wirklich gut: es .XRC Dateien erzeugt Sie müssen in Ihrem Programm laden, und es kann generieren .py Dateien, die von ihnen Subklassen wenn Sie verwenden.

  • Dialogblocks und wxDesigner sind zwei kommerzielle Software, die direkt Python-Code generieren. Ich habe diese sehr wegen ihres Preises nicht getestet.

  • wxGlade ist (glaube ich) noch nicht reif genug für große Programme, aber es ist einen Versuch wert.

Nach all diesen versuchen, erkannte ich, sie hatten alle Fehler und nichts ist besser als nur die GUI in einem Editor zu schreiben. Das Problem ist die erweiterte Lernkurve. Aber dann werden Sie viel mehr schneller sein und Ihr Code wird viel flexibler als wenn ein GUI-Designer.

Haben Sie einen Blick auf diese Liste der wichtigsten Anwendungen mit wxPython geschrieben. Sie werden wahrscheinlich, dass keiner von ihnen sehen, benutzen einen GUI-Designer muss es einen Grund dafür sein.

Sie dann verstehen, gs rechts ist, wenn ich sage, dass Sie entweder zu PyQt wechseln oder schreiben Sie Ihre Bewerbung mit der Hand. Ich hatte einen Blick auf Qt Designer in der Vergangenheit und dachte, das war, was ich brauchte. Leider PyQt hat einige Lizenzbeschränkungen.

Andere Tipps

Das kann Ihre Frage nicht direkt beantworten, aber ich wählte PyQt weil es gab gute keine UI-Designer für wxPython.

Anscheinend entweder Sie Ihre GUIs von Hand oder Schalter auf PyQt schreiben.

Weil Nokia und Riverbankcomputing nicht auf einer LGPL Lösung einigen konnten, entschied sich Nokia seine eigenen Bindungen aufzubauen: pyside .

Boa Constructor einen WxPython GUI-Builder hat.

Ich benutze xrced (kommt mit wxPython). Die GUI in XML-Dateien definiert ist, haben Sie eine automatisch generierte Python-Datei, die eine Initialisierung automatisiert dann Dir diese automatisch generierte Klassen Unterklasse und den Rest der Initialisierung von Hand zu tun. Ich finde, dass dies ein guter Weg ist, um die Eleganz des handgeschriebenen GUI-Code mit einem einfachen GUI Code-Generierung zu mischen.

Für den Code, den ich verwende WingIDE , ist es hilfreich einen guten debuger und gute Quelle Code-Vervollständigung haben, wenn Umgang mit großen Bibliotheken (oder Frameworks, wenn man so will) wie wxPython.

Wenn Sie mehr Automatisierung (und so, hässlicher Code) versuchen, die neueste Version von Boa gibt es ein paar nette einleitenden Screencasts für sie unter ShowMeDo.com

Versuchen Sie VisualWx . Ich denke, der GUI-Designer ist sehr gut; aber die IDE sind ziemlich rudimentär (keine Code-Vervollständigung, Debugging, etc.). Mein Arbeitsmuster ist VisualWx und einen guten Editor wie Komodo Edit / Netbeans / etc zu haben. offen zur gleichen Zeit und zwischen ihnen wechseln je nach Bedarf.

Ich benutze Eclipse PyDev als meinen Python IDE (was da draußen wahrscheinlich nicht die beste Lösung ist, aber es ist ganz anständig)

Für GUI Entwicklung habe ich wxGlade für ein mittelgroßes Projekt verwendet und fand es ganz einfach zu sein, einen verwenden Sie die Konzepte von WxPython verstanden haben. Die XML-Generation ist sehr nützlich für die eigentliche GUI-Design von Programmlogik zu trennen.

Alle die diese sind kostenlos.

Ich habe wxGlade für einige unternehmenskritischen Anwendungen eingesetzt. Wenn Sie ein wenig schwach in wx sind, kann es hart sein, aber sobald man sich daran gewöhnen, es ist ein großes Werkzeug.

Nicht wirklich ein GUI-IDE, aber es leds Sie Tkinter GUIs in einer JSON-Datei definieren: https://github.com / tmetsch / pytkgen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top