Si l'on veut développer une interface utilisateur en Python, laquelle choisir: TkInter ou PyQt?
Je viens de commencer avec TkInter et j'ai pu obtenir des interfaces utilisateur simples avec des widgets élémentaires comme l'étiquette, le bouton, la zone de texte, etc. Juste curieux de savoir à quel point PyQt serait bon par rapport à TkInter?
à votre santé
python
user-interface
pyqt
tkinter
Arnkrishn
la source
la source
Réponses:
PyQt si vous développez quelque chose de sérieux, d'autant plus que les choses que vous apprenez se traduiront directement par le travail avec Qt dans d'autres langues si vous en avez besoin, et Qt est probablement la meilleure boîte à outils d'interface multiplateforme disponible actuellement.
Il n'y a que deux inconvénients réels (potentiels):
PyQt n'est disponible que sous GPL. Cela signifie que si vous publiez votre code, il doit être disponible sous une licence compatible, sous les termes de l'exception GPL de Nokia , ou sous une licence commerciale (ce 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.)
la source
PyQt est notre principale boîte à outils GUI maintenant et après 1 an de développement, je ne veux pas revenir à autre chose. C'est stable, mature, multiplateforme et complètement natif. Même les boîtes de dialogue système (par exemple pour ouvrir des fichiers) sont celles utilisées par votre système d'exploitation.
J'ai modifié mon thème XP et maintenant la peau de mes applications en conséquence. Cela crée un look très professionnel, pas comparable à une boîte à outils comme
Swing
. L'API est étendue et va au-delà des simples éléments de l'interface graphique comme les widgets. Il prend en charge la connectivité de la base de données, l'impression, le threading (je l'ai utilisé et cela fonctionne comme un charme), ... Je l'utilise même pour générer des PDF (aucune autre bibliothèque externe n'est nécessaire). Je recommanderais le livre de Mark Summerfield par le biais de « Programmation rapide de l'interface graphique avec Python et Qt » pour vous aider à accélérer. Gardez à l'esprit que Qt est livré avec un constructeur d'interface graphique (Qt designer) qui est le meilleur que j'ai utilisé (et j'en ai essayé beaucoup).J'utilise même ce constructeur 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 ...
la source
J'utilise
tkinter
pour de petites applications avec une interface simple. Je l'aime beaucoup, même si le manque de bon éditeur WYSIWYG pourrait être un problème pour une application plus grande.Pour les grandes applications, cela
PyQt
pourrait être un meilleur choix. Il a un très bon concepteur d'écran, mais la licence peut être un problème.Enfin,
wxPython
peut être une bonne alternative, car elle ne présente pas ces inconvénients.la source
PyQt est vraiment facile à apprendre et la documentation pour Qt fonctionne également pour PyQt et il existe des ports vers .NET et Java. Donc, c'est féerique multiplateforme et cross language. Vous avez également PyQt intégré dans Eric IDE .
Le support des styles CSS est également vraiment génial.
Consultez le nouveau programme d'installation d'OpenSuSE pour voir ce que vous pouvez en faire.
la source
Vous pouvez créer d'énormes interfaces graphiques en utilisant Tkinter. Si vous aimez essayer le module pytkgen, il aide à créer des interfaces graphiques Tkinter à partir de définitions JSON: https://github.com/tmetsch/pytkgen
la source
J'utilise PyQt. Il est multiplateforme, facile à utiliser et fiable.
J'ai utilisé TkInter légèrement, et je ne vois aucun point rendant TkInter meilleur que PyQt.
la source