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

GUI Python Discussion :

Choix bibliothèque interface graphique


Sujet :

GUI Python

  1. #1
    Nouveau membre du Club
    Inscrit en
    Septembre 2009
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Septembre 2009
    Messages : 50
    Points : 37
    Points
    37
    Par défaut Choix bibliothèque interface graphique
    Bonjour à tous,

    Tout d'abord, je tiens à préciser que je ne suis pas développeur et que je n'ai pas eu de formation d'informaticien.
    J'ai appris la programmation principalement en autodidacte et je commence tout juste à faire des programmes intéressants.

    Ces derniers mois, j'ai développé une application (python3) qui sert simplement à saisir/modifier/supprimer des données stockées ensuite dans une base de données sqlite.
    Le tout fonctionne à peu près bien et je fais le constat suivant :
    * mon code est ordonné de manière un peu arbitraire.
    * je passe un temps énorme sur l'interface graphique, j'ai le sentiment de perdre mon temps sur de petits détails d'ergonomie.
    * mon interface est entièrement codée à la main (pyQt5), j'ai construit plein de petits widgets que j'appelle par la suite pour construire mon interface principale
    * le tout fonctionne sur PC, on m'a fait une demande pour sa tourne sous Android, mon interface n'est pas du tout faite pour passer sur un petit écran...

    Je lance donc cette discussion pour avoir des conseils pour structurer mon code, et surtout alléger le temps que je passe sur l'interface.

    Dans mes recherches, j'ai notamment vu qu'il y avait l'outil Qt Designer auquel j'ai eu du mal à accrocher jusqu'ici.
    Je me rends compte qu'il me devrai me simplifier la vie sur l'interface d'une part, et d'autre part me forcerai à avoir une structure plus proche d'un modèle MVC. Quel intérêt maintenant que mon interface est globalement terminée ?
    Enfin, je me demande si il ne faut pas également migrer de pyQt ou vers son pendant plus libre pySide.

    J'ai jusqu'ici utilisé pyQt parce que c'est le seul que j'arrivais à faire marcher et qui était pas trop mal documenté sur le net. Les autres bibliothèques sont elles similaires ? Est ce qu'il y en a de plus simple à mettre en œuvre ? facilement portable sur PC et smartphone ?

  2. #2
    Rédacteur/Modérateur
    Avatar de loufab
    Homme Profil pro
    Entrepreneur en solutions informatiques viables et fonctionnelles.
    Inscrit en
    Avril 2005
    Messages
    12 006
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Entrepreneur en solutions informatiques viables et fonctionnelles.
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2005
    Messages : 12 006
    Points : 24 598
    Points
    24 598
    Par défaut
    Kenavo,

    Je suis tout nouveau dans le monde de Python puisque je m'y suis intéressé l'année dernière l'une de mes filles ayant choisi la filière info. Depuis un mois je pratique régulièrement.
    Je suis bluffé par la puissance du langage, la richesse des bibliothèques, et la facilité d'obtenir rapidement un rendu. Ce qui pour un langage est motivant.

    J'ai essayé tkinter au début par facilité, parce que cela m'a semblé très abordable, mais je me suis vite heurté à des difficultés de fonctionnalités. Peut-être parce que je suis un débutant ? Il semble -suivant les comparatifs que j'ai lu- que Qt5 soit le plus portable, le plus puissant et qu'il permette également de créer des IHM pour la téléphonie mobile via QML (que l'on peut également utiliser pour les autres plateformes).

    Bref je me suis tourné comme toi vers Qt5/PySide2 (c'est la même chose, maintenu par la même boite à ce que j'ai pu lire) la différence est juste au niveau de la licence (pour l'instant) et la déclaration au niveau des imports. J'ai eu quelques difficultés d'installation avec PySide2 cependant. Les imports ne fonctionnaient. Mais bon là n'est pas le sujet.

    On peut lire les aficionados du MVC pur et dur et ceux qui prêchent pour un M(VC) -ModelView- ou la Vue est étroitement liée au Contrôleur. Je prend référence sur le site https://www.learnpyqt.com dont l'auteur a publié des cours assez bien fait et qui explique le fonctionnement des classes qu'ils utilisent. Concernant le MVC il y a ceci : https://www.learnpyqt.com/courses/mo...-architecture/ cela rejoint totalement ce que préconise l'éditeur de Qt5.

    Je pense que Qt Designer est incontournable lorsqu'on veut faire une interface proprement et rapidement. Le seul hic c'est sa gestion assez pittoresque des Layout imbriqués.

    Pour les questions que tu te pose :
    * mon code est ordonné de manière un peu arbitraire.
    Je dirais qu'au début c'est toujours un peu le cas, et plus on progresse plus on range les trucs où il faut.
    * je passe un temps énorme sur l'interface graphique, j'ai le sentiment de perdre mon temps sur de petits détails d'ergonomie.
    l'ergonomie c'est chronophage.
    * mon interface est entièrement codée à la main (pyQt5), j'ai construit plein de petits widgets que j'appelle par la suite pour construire mon interface principale
    à part utiliser un framework, donc refaire une grande partie de l'existant mettre un surcouche, c'est notre lot quotidien.
    * le tout fonctionne sur PC, on m'a fait une demande pour sa tourne sous Android, mon interface n'est pas du tout faite pour passer sur un petit écran...
    QML et Qt Quick est peut être la solution.

    J'espère ne pas avoir raconté des énormités, soyez indulgent je suis un néopythe.

    Cordialement,
    Détecter les modifications formulaire Cloud storage et ACCESS
    Classe MELA(CRUD) Opérateur IN et zone de liste Opérateur LIKE
    Visitez mon Blog
    Les questions techniques par MP ne sont pas lues et je ne pratique pas la bactériomancie

Discussions similaires

  1. Réponses: 25
    Dernier message: 11/06/2012, 16h39
  2. [WD15] Choix pour interface graphique
    Par tux59 dans le forum WinDev
    Réponses: 2
    Dernier message: 02/03/2010, 21h08
  3. Choix de langage pour interface graphique simple
    Par C_C dans le forum Langages de programmation
    Réponses: 9
    Dernier message: 04/04/2006, 20h12
  4. Choix d'interface graphique
    Par sendeler dans le forum Interfaces Graphiques en Java
    Réponses: 6
    Dernier message: 30/01/2006, 11h50
  5. Bibliothèques d'interfaces graphiques
    Par Le Furet dans le forum C
    Réponses: 9
    Dernier message: 02/01/2006, 16h55

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