Guter und einfacher GUI-Designer

Ich programmiere schon seit einiger Zeit und arbeite jetzt in einer Firma, die keine Programmierer hat. Was auch immer ich tue, es kann kein Befehlszeilentool oder eine Batchdatei sein. Daher würde ich gerne wissen, ob es einfache, aber hübsche GUI-Designer gibt, mit denen ich Software erstellen und meinen Code / meine Daten einbetten kann.

Meine Lieblingssprache wäre python. Aber wenn es andere gibt, die es wert sind, gelernt zu werden, können Sie sie gerne vorschlagen.

Ich würde gerne Vorschläge für Ubuntu und Windows hören. Was die Komplexität betrifft, möchte ich nicht nur übliche Kombinations-/Textfelder und Schaltflächen, sondern auch Tabellen und Diagramme anzeigen können (das können Bilder sein, die ich mit Python oder was auch immer erzeuge oder nicht), danke!

Für welches Betriebssystem? Und könnten Sie weitere Details hinzufügen? Wie die Komplexität Ihres GUI-Fensters. Reicht es aus, dass es Textfelder, Kombinationsfelder und Schaltflächen enthält, oder werden andere komplexere Elemente benötigt? Bitte lesen Sie diese FAQ, was erforderlich ist, damit eine Frage genügend Informationen enthält

Antworten (3)

Ich empfehle Python mit PyQt sehr. PyQt kann Qt Designer nutzen, ein anständiges Tool zur Erstellung von Benutzeroberflächen. Zugegeben, das Verstehen der PyQt-Programmierung (alias PySide) und die Integration mit den UI-Daten von Qt Designer zur Entwicklung vollständiger und robuster Anwendungen ist nicht einfach, da sie tiefgreifend ist und die Suche nach Ressourcen einige Zeit in Anspruch nimmt (aber sie sind verfügbar ... insbesondere auf StackOverflow ). Es war äußerst lohnend und die Ergebnisse sind so leistungsfähig wie bei den meisten anderen C++-Programmen. Tatsächlich kann ein erfahrenes Auge ein kompiliertes Python/PyQt-Programm nicht von einer anderen Windows-Anwendung unterscheiden. Ich kompiliere meine Python/PyQt-Apps mit PyInstaller in Exe-Dateien. Mit PyInstaller können Sie auch Datendateien wie SQLite oder Bilder und alles andere, was Sie brauchen, einbetten. Sie können eigenständige Anwendungen oder installierbare Anwendungen erstellen.

Der einzige große Nachteil ist, dass ich mehrere Jahre harter Arbeit und Erfahrung gebraucht habe, um alle Schichten zu verstehen, die notwendig sind, um leistungsstarke Tools für das Büro zu entwickeln, in dem ich arbeite (ich befinde mich in einer ähnlichen Situation wie Sie). Wenn Sie Python- und OOP-Programmierung verstehen, ist das die halbe Miete. Ich musste nur für Windows entwickeln (noch nicht für Linux oder OSX), aber ich bin zuversichtlich, dass das Python/PyQt-Zeug zu 98 % auf diese Plattformen übertragen wird.

Ich habe für mein Unternehmen hauptsächlich Dienstprogramme mit einer benutzerfreundlichen Benutzeroberfläche erstellt, die normalerweise eine Verbindung zu einer bürointernen MySQL-Datenbank herstellen. Einige Programme nutzen matplotlib auch für Tortendiagramme und Diagramme in einem PyQt-Widget.

Mit etwas mehr Details kann ich vielleicht mehr Einblick in diesen Bereich geben.

Python hat bereits ein Standard-GUI-Toolkit, Tkinter . Es ist alt, aber immer noch beliebt, und Sie sollten keine Probleme haben, es zu lernen, da Sie bereits mit Python vertraut sind.

Es ist kostenlos und läuft auf Windows- und Linux-Distributionen.

Tkinter hat alle grundlegenden GUI-Elemente. Hier ist eine Referenz .

Mit TkTable können Sie auch tabellenähnliche Tabellen in Tkinter einbetten. Darüber hinaus befasst sich diese Frage und Antwort auch mit dem Einbetten von Diagrammen mit Matplotlib

ist es aber Drag&Drop?
@PedroBraz Dafür benötigen Sie eine weitere Erweiterung Tkdnd

Wenn Sie mit der Idee von Python verheiratet sind, dann stimmen Sie dies ab. Aber da Sie nur sagen: "Meine Lieblingssprache wäre Python", werde ich weitermachen und Lazarus empfehlen .

Lazarus wurde als plattformübergreifender Open-Source-Klon von Borlands Delphi gestartet , was bedeutet, dass seine Programmiersprache objektorientiertes Pascal ist.

Der große Vorteil von Lazarus für Sie besteht darin, dass es sich um eine Rapid Application Development IDE handelt, in der Sie Komponenten einfach per Drag & Drop auf ein Formular ziehen, verschieben können, bis Sie zufrieden sind, und dann auf die Komponenten klicken, um den zugehörigen Code hinzuzufügen.

Darüber hinaus gibt es Hunderte (wenn nicht Tausende) kostenlose Komponenten, die Funktionen bieten, die über das standardmäßige Listenfeld, Bearbeitungsfeld, Optionsfeld usw. hinausgehen.

Ich persönlich finde, dass ich, obwohl ich Python codiere, lieber zu Lazarus greife, wenn ich eine App mit einer reichhaltigen GUI habe und meine Entwicklungszeiten sehr schnell sind.

A What You See Is What You Get (WYSIWYG) visual windows layout designer
An extensive set of GUI widgets or visual components such as edit boxes, buttons, dialogs, menus, etc.
An extensive set of non-visual components for common behaviors such as persistence of application settings
A set of data-connectivity components for MySQL, PostgresSQL, FireBird, Oracle, SQLite, Sybase, and others
Data-aware widget set that allows the developer to see data in visual components in the designer to assist with development
Interactive code debugger
Code completion
Code templates
Syntax highlighting
Context-sensitive help
Text resource manager for internationalization
Automatic code formatting
The ability to create custom components

Wenn Sie Python haben müssen , dann googeln Sie herum. Ich erinnere mich an ein Tool, das die Optionen Ihrer Python-App analysiert get_optund daraus automatisch eine GUI generiert - aber erwarten Sie nicht, dass es hübsch ist.