4 Punkte von GN⁺ 2023-12-11 | 1 Kommentare | Auf WhatsApp teilen

Einführung in PySimpleGUI

  • PySimpleGUI ist ein Python-Paket, das Python-Programmierern aller Erfahrungsstufen ermöglicht, GUIs zu erstellen.
  • Mit einem „layout“ wird ein GUI-Fenster definiert; erzeugt und bedient wird das Fenster dann mit tkinter, Qt, WxPython oder Remi.
  • PySimpleGUI-Code ist einfacher und kürzer als bei der direkten Nutzung des zugrunde liegenden Frameworks und übernimmt viel „boilerplate code“.
  • Bei Bedarf ist ein direkter Zugriff auf Widgets und Fenster des Frameworks möglich, sodass sich auch Einstellungen oder Funktionen erweitern lassen, die über die PySimpleGUI-API nicht offengelegt oder erreichbar sind.

Die „GUI Gap“ überwinden

  • Python hat viele Menschen in die Programmier-Community gezogen, doch die meisten Python-Programme sind „kommandozeilenbasiert“ und für normale Nutzer nur eingeschränkt zugänglich.
  • Mit einer GUI wird ein Programm leichter zugänglich und der potenzielle Nutzerkreis erweitert sich.
  • GUIs erleichtern bei manchen Programmen die Interaktion und helfen auch Nutzern, die bereits mit der Kommandozeile vertraut sind.

Anerkennung der Nutzung von Open Source

  • Es wird eine Liste der Pakete bereitgestellt, die in PySimpleGUI oder in Repositories des PySimpleGUI-Kontos verwendet werden.
  • Wenn ein Projekt Open-Source-Software nutzt, ist es sinnvoll, Informationen zu den verwendeten Paketen bereitzustellen.

Die „Hürde“ senken

  • Auf die Einschätzung, dass die Lernhürde für GUI-Programmierung hoch sei, versucht das PySimpleGUI-Projekt, diese Hürde zu verringern.
  • Es gehen E-Mails von Nutzern ein, die mit PySimpleGUI erfolgreich GUI-Programme erstellt haben und ihre Freude und Dankbarkeit ausdrücken.

Lernmaterialien

  • Es gibt einen offiziellen Udemy-Kurs zu PySimpleGUI, für den ein Gutscheincode verwendet werden kann.
  • Unter www.PySimpleGUI.org findet man die Dokumentation mit vielfältigen Unterlagen und einer leicht nutzbaren Suchfunktion.
  • Mit Hunderten Seiten an Dokumentation und Beispielprogrammen lässt sich schnell und effektiv lernen.

Meinung von GN⁺

Das Wichtigste an diesem Beitrag ist, dass PySimpleGUI ein Werkzeug ist, das Python-Nutzern hilft, auf einfache Weise GUIs zu erstellen. Es kann von Entwicklern aller Erfahrungsstufen genutzt werden und bietet die Möglichkeit zur Integration mit verschiedenen Frameworks. Interessant ist der Beitrag, weil er das Potenzial von PySimpleGUI zeigt, den Zugang zur Programmierung zu verbessern und mehr Menschen in die Lage zu versetzen, ihre Ideen umzusetzen.

1 Kommentare

 
GN⁺ 2023-12-11
Hacker-News-Kommentare
  • Ein Projekt, das PySimpleGUI für Jira-Zeiterfassung nutzt

    • Wegen der umständlichen Nutzung der Jira-Website bestand Interesse daran, eine Desktop-App mit einer Liste zugewiesener Issues sowie Schaltflächen zum Hinzufügen von Logs und Kommentaren zu entwickeln.
    • Bei der Verwendung von Tkinter gab es Schwierigkeiten mit dem UI-Design, doch mit PySimpleGUI wurde die Entwicklung deutlich beschleunigt.
    • Es war ein gutes Projekt, um die gewünschten Funktionen über die Jira-API umzusetzen und dabei UI-Entwicklung zu lernen.
  • Interesse an GUI-Frameworks und die Vorteile von PySimpleGUI

    • Es wird die Ansicht vertreten, dass native Desktop-Erfahrungen webbasierte UIs übertreffen.
    • Die vereinfachte Event-Loop und der Multi-Backend-Ansatz von PySimpleGUI werden als innovativ bewertet.
    • Es wird Interesse an der Idee geäußert, GUIs auf Basis von Datenstrukturen und Funktionen automatisch zu erzeugen.
  • Die ästhetische Seite von PySimpleGUI und die Schwierigkeiten beim Styling

    • Die Beispiele von PySimpleGUI wirken zwar wie aus den 90ern, eignen sich aber für Prototyping/interne Tools für nichttechnische Nutzer, die keine CLI verwenden können.
    • Native UIs bieten gute Performance, aber Styling ist schwieriger als bei Webseiten.
    • Es wird nach Komponenten für Python-GUIs gefragt, die mit wenig Aufwand ein ansprechendes Erscheinungsbild liefern, ähnlich wie Flutter oder SwiftUI.
  • Vorschläge zur Verbesserung von PySimpleGUI

    • Es wird vorgeschlagen, statt Listen Dictionaries zu verwenden, die sich die Einfügereihenfolge merken.
    • Aus der Erfahrung mit PyQt heraus wurde die Vorgehensweise als nützlich empfunden, Eigenschaften/Signale zu setzen und gleichzeitig Widgets zu verschachteln.
    • Es wird PySimpleGUI als Bibliothek gedankt, die beim schnellen Aufbau einfacher GUIs hilft.
  • Fortschritte in Richtung der Benutzerfreundlichkeit von VB6 oder Delphi/Lazarus

    • Es wird die Erwartung geäußert, dass interaktive GUI-Builder nötig sind und die Entwicklung deutlich erleichtern können.
    • Es wurden Kompatibilitätsprobleme mit WxPython und WxFormBuilder erlebt; zugleich wurden Bemühungen zu deren Lösung und eine positive Einschätzung von PySimpleGUI erwähnt.
  • Paketierungsprobleme bei der Entwicklung von Python-Desktop-Anwendungen

    • Bei vielen Abhängigkeiten gibt es Probleme mit bestehenden Tools zur Erzeugung verteilter Binärdateien.
    • Bei der Nutzung von PyInstaller oder cx_freeze treten Probleme mit dynamischem Modulladen und fehlenden Dateien auf.
    • Es wird der Bedarf an einer standardisierten Methode zum Paketieren eigenständiger Programme wie bei Javas jar aufgeworfen.
  • Bevorzugung von CustomTKinter

    • Die eleganten, modernen Themes von CustomTKinter sowie die Unterstützung von systemabhängigen Hell-/Dunkel-Themes werden bevorzugt.
  • Meinung zur Lücke bei schneller Anwendungsentwicklung wie mit VB6

    • Es wird Verwunderung darüber geäußert, wie mächtig der Drag-and-Drop-GUI-Builder von VB6 war und dass es kaum Werkzeuge gibt, die diese Lücke füllen.
  • Überlegungen, Tools mit CLI-Oberfläche um eine GUI zu erweitern

    • Es wird darüber nachgedacht, CLI-Tools um eine GUI zu ergänzen, für Nutzer, die kein Desktop-Linux verwenden.
    • Es besteht Neugier auf Erfahrungen anderer, die solche Umsetzungen versucht haben, sowie auf zu erwartende Herausforderungen.
  • Erfahrungen eines Nicht-Software-Teams mit PySimpleGUI

    • Es ist für schnelle UI-Entwicklung nützlich, wird aber mit steigender Komplexität schwerer zu warten und zu navigieren.
    • Das Styling war unzureichend, könnte sich aber für kurzfristiges Prototyping eignen.