N'hésitez pas à développer cette réponse.
Tkinter est la boîte à outils fournie avec python. Cela signifie que vous avez déjà tout ce dont vous avez besoin pour écrire une interface graphique. Cela signifie également que si vous choisissez de distribuer votre programme, il est fort probable que tout le monde ait déjà ce dont il a besoin pour l'exécuter.
Tkinter est mature et stable, et est (du moins en apparence) assez facile à utiliser. Je l'ai trouvé plus facile à utiliser que wxPython, mais évidemment c'est un peu subjectif.
Tkinter a la réputation d'être laid et dépassé. S'il est vrai qu'il est facile de créer des interfaces graphiques laides avec Tkinter, il est également assez facile de créer des interfaces graphiques agréables à regarder. Tkinter ne vous tient pas la main, mais il ne vous gêne pas beaucoup non plus. Tkinter a une meilleure apparence sur Mac et Windows puisqu'il utilise des widgets natifs, mais il a aussi une bonne apparence sur Linux.
L'autre point concernant l'apparence de Tkinter est que, pour la plupart, l'apparence n'est pas aussi importante que les gens le font croire. La plupart des applications écrites avec des boîtes à outils telles que Tkinter, wxPython, PyQT, etc. sont des applications à usage spécifique. Pour les types d'applications pour lesquelles ces boîtes à outils sont utilisées, la convivialité l'emporte sur l'apparence. Si l'apparence de l'application est importante, il est assez facile de peaufiner une application Tkinter.
Tkinter possède des fonctionnalités que les autres boîtes à outils sont loin d'égaler. Les traces variables, les polices nommées, les gestionnaires de géométrie (mise en page) et la façon dont Tkinter traite les événements sont toujours la norme à laquelle les autres boîtes à outils devraient être jugées.
En revanche, Tkinter est une enveloppe autour d'un interpréteur Tcl qui fonctionne dans python. Ceci est généralement invisible pour quiconque développe avec Tkinter, mais il en résulte parfois des messages d'erreur qui exposent cette architecture. Vous obtiendrez une erreur se plaignant d'un widget avec un nom comme ".1245485.67345" qui n'aura pratiquement aucun sens pour quiconque à moins que vous ne soyez également familier avec le fonctionnement de Tcl/tk.
Un autre inconvénient est que Tkinter n'a pas autant de widgets préconstruits que wxPython. Le widget d'arbre hiérarchique dans Tkinter est un peu faible, par exemple, et il n'y a pas de widget de table intégré. D'un autre côté, les widgets canvas et texte de Tkinter sont extrêmement puissants et faciles à utiliser. Pour la plupart des types d'applications que vous écrirez, cependant, vous aurez tout ce dont vous avez besoin. Ne vous attendez simplement pas à reproduire Microsoft Word ou Photoshop avec Tkinter.
Je ne sais pas quelle est la licence pour Tkinter, je suppose que c'est la même que pour python dans son ensemble. Tcl/tk a une licence de type BSD.
Il est construit sur la base de Qt Qt, un framework C++. Il est assez avancé et dispose de quelques bons outils comme le Qt Designer pour concevoir vos applications. Il faut cependant savoir qu'il ne ressemble pas à Python à 100%, mais il en est proche. Le site documentation est excellent
Ce cadre est vraiment bon. Il est activement développé par Trolltech, qui appartient à Nokia. Les liaisons pour Python sont développées par Riverbank.
PyQt est disponible sous la licence GPL ou sous une licence commerciale. Le prix d'une licence PyQt riveraine est d'environ 400 euros par développeur.
Qt n'est pas seulement un cadre d'interface graphique, mais aussi beaucoup d'autres classes. On peut créer une application en utilisant simplement les classes Qt. (Comme SQL, les réseaux, les scripts, )
Qt avait l'habitude d'émuler les éléments de l'interface graphique sur toutes les plates-formes, mais il utilise maintenant les styles natifs des plates-formes (mais pas les boîtes à outils d'interface graphique natives). la documentation pour Mac OS X y le style Windows XP
L'emballage est aussi simple que l'exécution de py2exe ou pyInstaller. Le contenu de mon application PyQt ressemble à ceci sous Windows (j'ai utilisé InnoSetup par dessus pour une installation correcte) :
pyticroque.exe PyQt4.QtGui.pyd unicodedata.pyd
MSVCP71.dll PyQt4.\_qt.pyd unins000.dat
MSVCR71.dll python25.dll unins000.exe
PyQt4.QtCore.pyd sip.pyd \_socket.pyd
QT est livré avec un concepteur de widgets et même dans les versions récentes avec un IDE pour aider à la conception de logiciels Qt.
PySide est une liaison LGPL à Qt. Elle a été développée par Nokia pour remplacer la version GPL de PyQt.
Bien que basé sur une technologie différente technologie différente de celle des sous licence GPL de PyQt, PySide sera initialement aura pour objectif initial d'être compatible avec leur API. En plus de l'API compatible avec PyQt, une API plus plus pythonique sera fournie dans le l'avenir.
wxPython est une liaison pour Python qui utilise le langage de programmation de l'UE. wxWidgets -Framework. Ce cadre est sous licence LGPL et est développé par la communauté open source.
Ce qui me manque vraiment, c'est un bon outil pour concevoir l'interface, ils en ont environ 3 mais aucun n'est utilisable.
Une chose que je dois mentionner, c'est que j'ai trouvé un bogue dans la vue par onglets, bien que je n'aie rien utilisé d'avancé. (Seulement sur Mac OS X) Je pense que wxWidgets n'est pas aussi soigné que Qt .
wxPython ne concerne que les classes GUI, il n'y a pas grand chose d'autre.
wxWidgets utilise des éléments d'interface graphique natifs.
Un avantage de wxPython par rapport à Tkinter est que wxPython dispose d'une bibliothèque de widgets beaucoup plus importante parmi laquelle choisir.
Autres
Je n'ai pas d'expérience avec d'autres frameworks GUI, peut-être que quelqu'un d'autre en a.