-
IHM en Python
Bonjour,
je viens d'un monde de développement très Microsoft pour la création d'IHM. J'ai commencé la programmation à 12 ans sur du VB4 puis j'ai fait un peu de tout C, C++, ASM, Pascal, Java, etc. mais j'ai toujours réalisé des IHM via les solutions Microsoft avec le simple glissé déposé redimensionné.
Je me suis mis au python, mais j'aimerais vraiment réaliser des IHM simplement et sympa. J'aimerais y géré également le glissé déposé, par exemple déposé un fichier vers la fenêtre de mon application.
Quel est selon vous le framework qui vous semble le plus adapté pour mon cas?
Merci par avance,
Donaldo
-
Bonjour,
Après avoir développé quelques temps avec Delphi, j'avais la même recherche avec Python et j'ai trouvé ce que je cherchais avec PyQt.
PyQt est l'adaptation de Python à la bibliothèque graphique Qt (http://www.qt.io/) qui est utilisée pour les bureaux graphiques KDE des Linux. C'est une bibliothèque graphique très riche et très performante. On peut faire avec cet ensemble "Python + PyQt" des applications graphiques multiplateformes (Windows-Linux-MacOSX) qui ressemblent tout à fait aux autres programmes graphiques écrits dans les langages habituels. On peut les rendre "autonomes" (ne nécessitant pas l'installation préalable de Python et PyQt) avec des logiciels comme cx_freeze, et on peut même les rendre alors "installables" au point que l'utilisateur ne saura même pas que c'est écrit en Python.
Le dessin des fenêtres graphiques est fait avec le programme "QtDesigner". On fait ça de façon conversationnelle avec la souris. Ce programme enregistre le résultat du dessin dans un fichier XML qui est convertit ensuite en code Python qu'il suffit d'importer.
Les versions actuelles sont: Python 3.4 et PyQt5 v5.5: https://www.riverbankcomputing.com/software/pyqt/intro.
Sous Windows, le plus simple est d'installer le binaire exe qui contient tout ce qu'il faut. Sous Linux le plus simple est d'installer les paquets déjà disponibles dans la distribution. Sous Mac OS X, on utilise ce qui est prévu dans les gestionnaires de paquets "non-apple". Dans les 3 cas, il est toujours techniquement possible de tout reconstruire à partir des sources, mais ce n'est pas simple.
Le seul bémol avec PyQt est celui de la licence: tant qu'on ne commercialise pas le logiciel développé, pas de problème. Sinon, il faut acheter une licence.
Il existe d'autres bibliothèques graphiques utilisables avec Python, en particulier PyGtk (http://www.pygtk.org/) qui utilise Gtk qui vient des bureaux graphiques gnome des Linux, mais je ne le connais pas suffisamment pour en parler. Cependant, la licence pour distribuer les logiciels parait plus libre (LGPL). Il existe aussi la bibliothèque graphique "wxpython" (http://www.wxpython.org/), mais elle n'est toujours pas disponible pour Python 3, ce qui, à mon avis, la condamne à terme (Python 3 est tout de même sorti en décembre 2008!).
-
Bonjour tyrtamos,
Merci pour ta réponse. Je vais m'essayer à PyQt !
-
J'avais utilisé il y a quelque années Boa Constructor (http://python.developpez.com/telecha...uctor-wxPython)
Un IDE RAD en python pour faire des outils en python via l’environnent graphique wxWindows
Par contre, j'ai l'impression que cet outil n'a pas évolué depuis des années.
-
J'aimerais tout de même rester sur un produit maintenu!