Développement d’interfaces graphiques en Python: Tkinter vs PyQt

Si l’on veut développer une interface utilisateur en Python, laquelle choisir: TkInter ou PyQt?

Je viens juste de commencer avec TkInter et j’ai pu obtenir des interfaces utilisateur simples avec des widgets élémentaires tels que label, bouton, zone de texte, etc. Juste curieux de savoir à quel point PyQt serait comparable à TkInter?

à votre santé

PyQt si vous développez quelque chose de sérieux, d’autant plus que les choses que vous apprenez se traduiront directement par l’utilisation de Qt dans d’autres langues si vous en avez besoin, et Qt est probablement le meilleur toolkit d’interface multi-plateforme disponible actuellement.

Il n’y a que deux inconvénients réels (potentiels):

PyQt est uniquement disponible sous la GPL. Cela signifie que si vous publiez votre code, celui-ci doit être disponible sous une licence compatible, sous les termes de l’exception GPL de Nokia ou sous une licence commerciale (qui coûte de l’argent). Cela contraste avec Qt, qui est maintenant disponible sous la LGPL.

PyQt n’est pas inclus par défaut avec les installations Python. Vous allez devoir emballer la bibliothèque vous-même. (Ars Technica a un bon article sur le faire pour Windows et OS X.)

PyQt est notre boîte à outils graphique principale maintenant et après 1 an de développement, je ne veux plus revenir à rien. C’est stable, mature, multi-plateforme et complètement natif. Même les boîtes de dialog système (par exemple, pour ouvrir des fichiers) sont celles utilisées par votre système d’exploitation.

J’ai peaufiné mon thème XP et maintenant mes applications dépouillent en conséquence. Cela crée un aspect très professionnel, pas comparable à une boîte à outils comme Swing . L’API est étendue et va au-delà des simples fonctionnalités de l’interface graphique, comme les widgets. Il prend en charge la connectivité de firebase database, l’impression, le threading (je l’ai utilisé et fonctionne comme un charme), je l’utilise même pour générer des fichiers PDF (aucune autre bibliothèque externe n’est nécessaire). Je recommanderais le livre de Mark Summerfield par « Rapid GUI Programming avec Python et Qt » pour vous permettre de gagner en rapidité. Gardez à l’esprit que Qt est livré avec un générateur de GUI (Qt Designer) qui est le meilleur que j’ai utilisé (et j’en ai essayé beaucoup).
J’utilise même ce générateur pour créer des maquettes à montrer aux utilisateurs (c’est aussi simple que ça!).

Je l’ai présenté à 2 autres développeurs ici et je ne les ai pas entendus se plaindre …

J’utilise tkinter pour les petites applications avec une interface simple. Je l’aime beaucoup, même si le manque de bon éditeur WYSIWYG peut être un problème pour une application plus grande.

Pour les grandes applications, PyQt pourrait être un meilleur choix. Il a un très bon concepteur d’écran, mais les licences peuvent poser problème.

Enfin, wxPython peut être une bonne alternative, car il ne présente pas ces inconvénients.

PyQt est vraiment facile à apprendre et docs pour Qt fonctionne également pour PyQt. Il existe également des ports pour .NET et Java. Donc, c’est une plate-forme croisée et un langage croisé. Vous avez aussi PyQt intégré dans Eric IDE .

Le support des styles CSS est également très shiny.

Consultez le nouvel installeur OpenSuSE pour voir ce que vous pouvez faire avec.

Vous pouvez créer de grandes interfaces graphiques en utilisant Tkinter. Si vous aimez essayer le module pytkgen, cela aide à créer des interfaces graphiques de Tkinter à partir des définitions JSON: https://github.com/tmetsch/pytkgen

J’utilise PyQt – Cross-platform, facile à utiliser et fiable.

J’ai utilisé TkInter très léger et je ne trouve pas de point rendant tkInter meilleur que PyQt.