Bibliothek zum Entwickeln einer plattformübergreifenden Desktop-Benutzeroberfläche für eine Python-App

Ich entwickle eine Passwort-Manager-Desktop-Anwendung in python-tkinter, aber tkinter hat keine gut aussehende Benutzeroberfläche. Ich suche nach einer Alternative.

Die wichtigsten Dinge, die ich möchte, sind die folgenden:

  1. Professionelle Schnittstelle, die gut aussieht.
  2. Plattformübergreifend (ich möchte es entweder auf Mac/Windows/Linux ausführen).
  3. Aktive Community hinter der Bibliothek.
Willkommen bei den Softwareempfehlungen! Bitte beachten Sie, dass die Empfehlung von Programmiersprachen hier nicht zum Thema gehört. Einzelheiten finden Sie unter: Sollen Programmiersprachenempfehlungen hier zugelassen werden?
Wollen Sie die GUI selbst entwickeln? Wenn Sie argparseIhre Befehlszeilenargumente analysieren, gibt es einige Apps, die Ihren Code scannen, nach verfügbaren Argumenten suchen und eine GUI generieren.

Antworten (4)

Electron ermöglicht raffinierte und attraktive Desktop-Apps für Windows, Mac und Linux mit JavaScript, HTML und CSS.

  1. Professionelle Schnittstelle: Ja. Beispielsweise wird Visual Studio Code mit Electron erstellt
  2. Plattformübergreifend: Ja
  3. Gute Community-Unterstützung: Ja

Visual Studio Code – geschrieben mit Electron

Es sieht gut aus! Ich werde einen Blick darauf werfen.

Ich würde vorschlagen, einen Blick auf wxPython zu werfen, bei dem es sich um eine Reihe von Python-Bindungen für das wxWidgets - GUI-Toolkit handelt.

Dies bietet ein natives Erscheinungsbild auf allen Windows-, OS-X- und Linux-Systemen und kann verwendet werden, um eine sehr professionell aussehende GUI aus Python zu erstellen.

Um eine Einführung in wxPython für Python 2.7 zu erhalten, laden Sie es herunter und installieren Sie es zusammen mit der Documents & Demo Suite.

Die Python 3-Unterstützung ist ein laufendes Projekt namens Project Phoenix , das, obwohl es noch nicht die erste offizielle Version ist, gut funktioniert, um eine sehr gute, plattformübergreifende GUI für die meisten Projekte bereitzustellen. Die Installation des neuesten Builds kann mit der Zeile erfolgen:

pip install --upgrade --trusted-host wxpython.org --pre -f http://wxpython.org/Phoenix/snapshot-builds/ wxPython_Phoenix 

Die Installation des Pakets mit Dokumenten und Demos erfordert jedoch das Herunterladen der Quelle von github .

  • Kostenlos, Gratis & Open Source
  • Die Lizenz erlaubt die kommerzielle Nutzung sowie die persönliche und akademische Nutzung
  • Plattformübergreifendes Windows, OS-X & Windows
  • Native Look & Feel verwendet native Komponenten, wo immer dies möglich ist
  • Große und aktive Benutzer- und Entwicklergemeinschaften
  • Ausgereift - wxPython wurde 1998 erstmals veröffentlicht!
  • Viele Online-Hilfen und Bücher verfügbar
  • Zahlreiche Anwendungen verwenden bereits wxPython

Beispiel-Apps

PySpread Pythonic Spreadsheet Cornice Plattformübergreifender Bildbrowser OpenDict Open Source-Multiplattform-Computerwörterbuch.Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein Geben Sie hier die Bildbeschreibung ein

Alle Screenshots von der jeweiligen Programm-Website.

Sie könnten versuchen, Qt zu verwenden , wodurch die Benutzeroberfläche in Python-kompatibel konvertiert werden kann.

https://stackoverflow.com/questions/18429452/convert-pyqt-ui-to-python

Gegen Bezahlung erhalten Sie Kundensupport und einige Vergünstigungen, aber fast alle Qt-Arbeiten, die Sie "in freier Wildbahn" sehen, sind GPL- (oder LGPL-) Versionen.

Geben Sie hier die Bildbeschreibung ein

Aber Qt wird nicht bezahlt?
Es gibt eine kostenpflichtige und eine Open-Source-Version, die Unterschiede finden Sie hier qt.io/licensing-comparison
@Lechucico: Im Wesentlichen lautet die Antwort "Nein, du bezahlst nicht". Gegen Bezahlung erhalten Sie Kundensupport und einige Vergünstigungen, aber fast alle Qt-Arbeiten, die Sie "in freier Wildbahn" sehen, sind GPL- (oder LGPL-) Versionen. Wenn es Python-Bindungen hat, würde ich es wirklich empfehlen. Siehe auch diese Liste von Organisationen, die es für einen Großteil ihrer GUI-Arbeit verwenden.

JavaFX

Es ist nicht Python, aber in Verbindung mit Scene Builder (siehe unten) können Sie schnell einfache, professionell aussehende GUIs erstellen.

  • Einfach
    • Scene Builder bietet eine Drag-and-Drop-Oberfläche, die das GUI-Design vereinfacht.
  • Codefreundlich
    • Indem Sie einem Scene Builder-Objekt eine ID zuweisen, können Sie es von einer Java-Anwendung aus referenzieren, um Ereignisse zu verarbeiten, Inhalte abzurufen, das Szenendiagramm zu ändern usw.
  • Plattformübergreifend
    • Das Verpacken des Projekts in eine ausführbare JAR-Datei macht es unter Windows, Linux und Mac lauffähig (sofern Java installiert ist).
  • Frei
    • Java und Scene Builder sind kostenlos
  • Aktive Gemeinschaft
    • Java hat eine große Benutzerbasis und viele Ressourcen, die JavaFx-Teilmenge ist viel kleiner, existiert aber immer noch und ist gut dokumentiert.

Szenenbauer Geben Sie hier die Bildbeschreibung ein

Welche prominenten Apps verwenden JavaFx?
Hier ist eine Liste einiger wichtiger Apps, die in JavaFX entwickelt wurden - jedoch hauptsächlich intern und unternehmensspezifisch. Nicht allzu viele große Open-Source-Beispiele, die ich im Moment finden kann. Ich arbeite derzeit auch an einer firmeninternen JavaFX-Anwendung. jaxenter.com/20-javafx-real-world-applications-123653.html