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

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

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

Le , par Anthony

54PARTAGES

20  0 
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

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de fred1599
Expert éminent https://www.developpez.com
Le 12/12/2023 à 19:02
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.
2  0 
Avatar de Sve@r
Expert éminent sénior https://www.developpez.com
Le 11/12/2023 à 13:04
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.
1  0 
Avatar de wiztricks
Expert éminent sénior https://www.developpez.com
Le 12/12/2023 à 9:32
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
1  0