IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

PySimpleGUI : un paquetage Python qui permet aux programmeurs Python de créer des interfaces graphiques


Sujet :

Python

  1. #1
    Chroniqueur Actualités
    Avatar de Anthony
    Homme Profil pro
    Rédacteur technique
    Inscrit en
    Novembre 2022
    Messages
    938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Rédacteur technique

    Informations forums :
    Inscription : Novembre 2022
    Messages : 938
    Points : 15 559
    Points
    15 559
    Par défaut PySimpleGUI : un paquetage Python qui permet aux programmeurs Python de créer des interfaces graphiques
    PySimpleGUI : un paquetage Python qui permet aux programmeurs Python de tous niveaux de créer des interfaces graphiques, et de transformer Qt, tkinter, WxPython et Remi en une interface plus simple

    Transformez les frameworks d'interface graphique tkinter, Qt, WxPython et Remi (basé sur un navigateur) en une interface plus simple grâce à PySimpleGUI. La définition des fenêtres est simplifiée par l'utilisation des types de données de base de Python compris par les débutants (listes et dictionnaires) et une simplification supplémentaire est réalisée en changeant la gestion des événements d'un modèle basé sur les callbacks à un modèle basé sur le passage de messages.

    Votre code n'est pas obligé d'avoir une architecture orientée objet, ce qui rend le paquetage utilisable par un public plus large. Bien que l'architecture soit simple à comprendre, elle ne vous limite pas nécessairement à des problèmes simples.

    Certains programmes ne sont cependant pas adaptés à PySimpleGUI. Par définition, PySimpleGUI met en œuvre un sous-ensemble des capacités des frameworks d'interface graphique sous-jacents. Il est difficile de définir exactement quels programmes sont adaptés à PySimpleGUI et lesquels ne le sont pas. Cela dépend des détails de votre programme. Dupliquer Excel dans les moindres détails est un exemple de programme qui ne convient pas à PySimpleGUI.


    Qu'est-ce que PySimpleGUI ?

    PySimpleGUI est un paquetage Python qui permet aux programmeurs Python de tous niveaux de créer des interfaces graphiques. Vous spécifiez votre fenêtre GUI en utilisant un "layout" qui contient des widgets (ils sont appelés "Elements" dans PySimpleGUI). Votre layout est utilisé pour créer une fenêtre en utilisant l'un des 4 frameworks supportés pour afficher et interagir avec votre fenêtre. Les frameworks supportés sont tkinter, Qt, WxPython, ou Remi. Le terme "wrapper" est parfois utilisé pour ce type de paquets.

    Votre code PySimpleGUI est plus simple et plus court que d'écrire directement en utilisant le framework sous-jacent car PySimpleGUI implémente une grande partie du "code de base" pour vous. De plus, les interfaces sont simplifiées afin de nécessiter le moins de code possible pour obtenir le résultat souhaité. Selon le programme et le framework utilisés, un programme PySimpleGUI peut nécessiter 1/2 à 1/10ème de code pour créer une fenêtre identique en utilisant directement l'un des frameworks.

    Bien que l'objectif soit d'encapsuler/cacher les objets et le code spécifiques utilisés par le framework GUI que vous utilisez, si nécessaire, vous pouvez accéder directement aux widgets et fenêtres dépendants des frameworks. Si un paramètre ou une fonctionnalité n'est pas encore exposé ou accessible à l'aide des API de PySimpleGUI, vous n'êtes pas isolé du framework. Vous pouvez étendre les capacités sans modifier directement le paquetage PySimpleGUI lui-même.

    Combler le "fossé de l'interface graphique"

    Python a permis à un grand nombre de personnes d'entrer dans la communauté des programmeurs. Le nombre de programmes et l'étendue des domaines qu'il touche sont époustouflants. Mais le plus souvent, ces technologies sont hors de portée de tous, à l'exception d'une poignée de personnes. La majorité des programmes Python sont basés sur la ligne de commande. Ce n'est pas un problème pour les programmeurs, car nous sommes tous habitués à interagir avec les ordinateurs par le biais d'une interface texte. Si les programmeurs n'ont pas de problème avec les interfaces en ligne de commande, c'est le cas de la plupart des "gens normaux". Cela crée une fracture numérique, un "fossé de l'interface graphique".

    L'ajout d'une interface graphique à un programme ouvre ce dernier à un public plus large. Il devient plus accessible. Les interfaces graphiques peuvent également faciliter l'interaction avec certains programmes, même pour ceux qui sont à l'aise avec une interface de ligne de commande. Enfin, certains problèmes nécessitent une interface graphique.

    Source : "PySimpleGUI, User Interfaces for Humans" (GitHub)

    Et vous ?

    Que pensez-vous de PySimpleGUI ?

    Trouvez-vous ce package intéressant et utile ? Pourquoi ?

    Voir aussi

    La version 5.0 de Django est disponible, et introduit une fonctionnalité qui permet d'utiliser les propriétés par défaut des bases de données, ainsi qu'une construction simplifiée des formulaires

    Python est facile. Go est simple. Simple != Facile, Python et Go ont des qualités distinctes qui peuvent se compléter, par Preslav Rachev, ingénieur en informatique

    PyScript, le framework pour créer des applications Python avancées dans le navigateur, il permet d'imbriquer Python et HTML
    Contribuez au club : corrections, suggestions, critiques, ... Contactez le service news et Rédigez des actualités

  2. #2
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 690
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 690
    Points : 30 985
    Points
    30 985
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par Anthony Voir le message
    Que pensez-vous de PySimpleGUI ?
    C'est simple

    Citation Envoyé par Anthony Voir le message
    Trouvez-vous ce package intéressant et utile ? Pourquoi ?
    La question manque de contexte. Un marteau est intéressant et utile pour peu qu'on ait des clous à planter. Mais s'il s'agit de changer une roue...

    Il n'y a pas de "meilleur langage" a dit Herbert Mayer. C'est valable pour tout. Oui PySimpleGui est intéressant et utile si on a un truc simple à coder. Mais si on doit créer un projet avec accès bdd et qu'il faut une GUI pour ça, il va vite montrer ses limites.
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 287
    Points : 36 776
    Points
    36 776
    Par défaut
    Citation Envoyé par Anthony Voir le message
    Et vous ?
    Que pensez-vous de PySimpleGUI ?

    Trouvez-vous ce package intéressant et utile ? Pourquoi ?
    Si je code avec tkinter, Qt, Wx, ..., je retrouve un peu les mêmes choses côté widgets, layouts, callbacks,... PySimpleGUI part dans quelque chose d'un peu décalé. Cela (changer de paradigme) ne va pas aider ceux qui savent utiliser un GUI classique à l'adopter.

    Faire une interface "simple" est assez facile avec n'importe quel GUI et il faudra passer du temps pour réaliser des interfaces complexes. Ce que PySimpleGUI permet en accédant au GUI natif qui tourne en dessous. Mais si on s'est contenté d'apprendre à coder avec PySimpleGUI, la marche pourra paraître un peu haute!
    Du coup, la seule façon de savoir si ça apporte quelque chose sera de voir si les développeurs l'adoptent (mais je ne vois pas de quoi séduire les professionnels).

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 824
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 824
    Points : 7 120
    Points
    7 120
    Par défaut
    Bonjour,


    • PySimpleGui c'est simple comme Tkinter
    • Ce que fait PySimpleGui, Tkinter le fait
    • PySimpleGui n'est pas compris dans les tutos apprenant Python contrairement à Tkinter (ex. Swinnen)
    • Communauté moins importante que Tkinter, documentations et problématiques moins fournies


    Perso, je n'y trouve pas mon compte, la personnalisation et l'ajout de complexité semble être faisable avec Tkinter, que je ne retrouve pas avec PySimpleGui.

    Tkinter me semble suffisamment simple pour ne pas avoir besoin d'être amené à utiliser PySimpleGui tout en considérant qu'avant d'apprendre une GUI, on apprend correctement et rigoureusement Python.

    Dans le cas où on veut aller plus vite que la musique dans l'apprentissage de Python, c'est à ce moment que je vois un intérêt à PySimpleGui.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/11/2023, 11h13
  2. Réponses: 2
    Dernier message: 26/02/2021, 16h07
  3. Réponses: 11
    Dernier message: 13/10/2020, 15h18
  4. Réponses: 1
    Dernier message: 18/10/2018, 09h07
  5. Réponses: 13
    Dernier message: 11/06/2010, 11h04

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo