4 points par GN⁺ 2023-12-11 | 1 commentaires | Partager sur WhatsApp

Présentation de PySimpleGUI

  • PySimpleGUI est un package Python qui permet aux programmeurs Python de tous niveaux de créer des interfaces graphiques.
  • Il utilise un layout pour définir la fenêtre de l’interface, puis crée la fenêtre et gère les interactions à l’aide de tkinter, Qt, WxPython ou Remi.
  • Le code PySimpleGUI est plus simple et plus court que lorsqu’on utilise directement le framework sous-jacent, et il prend en charge une grande partie du boilerplate code.
  • Si nécessaire, il est possible d’accéder directement aux widgets et fenêtres du framework, ce qui permet d’étendre aussi des réglages ou fonctionnalités non exposés ou inaccessibles via l’API PySimpleGUI.

Surmonter le « GUI Gap »

  • Python a attiré de nombreuses personnes vers la communauté de la programmation, mais la plupart des programmes Python reposent sur la « ligne de commande », ce qui les rend moins accessibles au grand public.
  • Ajouter une interface graphique rend un programme plus accessible et élargit son audience.
  • Une interface graphique facilite l’interaction avec certains programmes et aide aussi les utilisateurs habitués aux interfaces en ligne de commande.

Reconnaissance de l’usage de l’open source

  • Fournit une liste des packages utilisés par PySimpleGUI ou dans les dépôts du compte PySimpleGUI.
  • Lorsqu’un projet utilise des logiciels open source, il est utile de fournir des informations sur les packages employés.

Franchir la « barre »

  • Face à l’idée que la programmation GUI présente une forte barrière à l’apprentissage, le projet PySimpleGUI tente de la réduire.
  • L’équipe reçoit des e-mails d’utilisateurs qui ont réussi à créer des programmes GUI avec PySimpleGUI et expriment leur joie et leur gratitude.

Ressources pédagogiques

  • Il existe un cours Udemy officiel sur PySimpleGUI, avec possibilité d’utiliser un code promo.
  • La documentation est disponible sur www.PySimpleGUI.org, avec de nombreux contenus et des fonctions de recherche faciles à utiliser.
  • Des centaines de pages de documentation et des programmes d’exemple permettent d’apprendre rapidement et efficacement.

L’avis de GN⁺

L’essentiel de cet article est que PySimpleGUI est un outil qui aide les utilisateurs de Python à créer facilement des interfaces graphiques. Il peut être utilisé par des développeurs de tous niveaux, du débutant à l’expert, et offre la capacité de s’intégrer à différents frameworks. Ce qui rend cet article intéressant, c’est qu’il montre le potentiel de PySimpleGUI pour améliorer l’accessibilité à la programmation et permettre à davantage de personnes de concrétiser leurs idées.

1 commentaires

 
GN⁺ 2023-12-11
Commentaires sur Hacker News
  • Projet utilisant PySimpleGUI pour le suivi du temps dans Jira

    • Intérêt pour le développement d’une application desktop avec une liste des tickets assignés ainsi que des boutons pour ajouter des journaux et des commentaires, en raison du manque de praticité du site web de Jira.
    • Des difficultés ont été rencontrées avec la conception de l’UI en utilisant Tkinter, mais PySimpleGUI a permis d’accélérer considérablement le travail.
    • C’était un bon projet pour implémenter les fonctionnalités souhaitées via l’API Jira et apprendre le développement d’UI.
  • Intérêt pour les frameworks GUI et avantages de PySimpleGUI

    • L’expérience desktop native est jugée supérieure à une UI web.
    • La boucle d’événements simplifiée de PySimpleGUI et son approche multi-backend sont considérées comme innovantes.
    • Expression d’un intérêt pour l’idée de générer automatiquement une GUI à partir de structures de données et de fonctions.
  • Aspect esthétique de PySimpleGUI et difficultés de styling

    • Les exemples de PySimpleGUI ont un style qui rappelle les années 90, mais conviennent au prototypage et aux outils internes destinés à des utilisateurs non techniques qui ne peuvent pas utiliser une CLI.
    • Les performances d’une UI native sont bonnes, mais le styling est plus difficile que pour une page web.
    • Question sur l’existence, en GUI Python, de composants offrant un rendu élégant avec peu d’effort, à la manière de Flutter ou SwiftUI.
  • Suggestions d’amélioration pour PySimpleGUI

    • Suggestion d’utiliser un dictionnaire mémorisant l’ordre d’insertion à la place d’une liste.
    • Dans l’expérience avec PyQt, il était utile de pouvoir configurer propriétés/signaux et imbrication des widgets en même temps.
    • Remerciements à PySimpleGUI en tant que bibliothèque utile pour construire rapidement des GUI simples.
  • Des avancées qui se rapprochent de la facilité d’utilisation de VB6 ou Delphi/Lazarus

    • Expression d’une attente envers le besoin d’un constructeur de GUI interactif et l’amélioration de la facilité de développement qu’il pourrait apporter.
    • Après avoir rencontré des problèmes de compatibilité entre WxPython et WxFormBuilder, des efforts ont été faits pour les résoudre, avec une évaluation positive de PySimpleGUI.
  • Problèmes de packaging pour le développement d’applications desktop en Python

    • En présence de nombreuses dépendances, les outils existants pour produire des binaires distribuables posent problème.
    • Mention des problèmes de chargement dynamique de modules et de fichiers manquants lors de l’utilisation de PyInstaller ou cx_freeze.
    • Mise en avant du besoin d’une méthode standardisée pour empaqueter des programmes autonomes, comparable aux jar de Java.
  • Préférence pour CustomTKinter

    • Préférence pour les thèmes élégants et modernes de CustomTKinter ainsi que pour sa prise en charge des thèmes clair/sombre selon le système.
  • Avis sur le vide laissé par le développement rapide d’applications façon VB6

    • Surprise face à l’absence d’outils capables de combler le vide laissé par la puissance du constructeur de GUI en glisser-déposer de VB6.
  • Réflexion sur l’ajout d’une GUI à des outils disposant d’une interface CLI

    • Réflexion sur l’idée d’ajouter une GUI à des outils en ligne de commande pour les utilisateurs qui n’utilisent pas Linux sur desktop.
    • Curiosité quant aux expériences d’autres personnes ayant tenté cette conversion et aux défis à prévoir.
  • Expérience d’équipes non logicielles avec PySimpleGUI

    • Utile pour développer rapidement des UI, mais à mesure que la complexité augmente, la maintenance et la navigation deviennent difficiles.
    • Le styling était insuffisant, mais l’outil peut convenir au prototypage à court terme.