Il y a tellement de frameworks pour écrire une application GUI en utilisant Python. Mais existe-t-il un cadre standard unique? Par exemple, nous avons un ensemble de .NET / C # sur Visual Studio.
Je pense également à d'autres perspectives. À l'avenir, si je donne une interview pour un travail de programmeur Python, quel cadre GUI sera envisagé?
Je me demande également, il n'y a pas d'IDE qui intègre le langage GUI et Python. Le choix de la saveur est bon mais le sur-choix devient une distraction.
Réponses:
Vous pouvez écrire des applications GUI API Win32 en Python, si vous aimez écrire tout ce code passe- partout : projet PyWin32
Personnellement, j'aime wxPython . Il est multiplateforme (entièrement pris en charge sur Linux et Windows) et existe depuis un certain temps ... une base de support décente et beaucoup de documentation / exemple de code. Si vous souhaitez l'utiliser, jetez un œil à BoaConstructor . C'est l'IDE pour wxPython (ou peut-être mieux dit, un IDE écrit dans et pour wxPython). C'est le seul IDE RAD spécifiquement pour Python que j'ai rencontré qui mérite même d'être mentionné, sauf l'éditeur Qt UI (l'éditeur UI de Qt est utilisable à la fois pour C ++ et PyQT).
Comme Peter l'a mentionné dans sa réponse, Tk est l'interface graphique de facto pour les anciennes applications Python, mais elles ne sont vraiment pas très jolies pour l'utilisateur final. Il y a quelques extensions pour le rendre un peu meilleur et fournir une certaine capacité de style de l'interface utilisateur, mais à moins que vous ne mainteniez une ancienne application graphique, je ne suggérerais pas de la déranger.
pyGTK, également déjà mentionné, serait un autre bon choix. Il est également multiplateforme, même si je n'ai aucune expérience personnelle du développement GTK sous Windows. PyQT serait un meilleur choix, OMI - je pense que les interfaces graphiques créées avec la bibliothèque Qt sont à la fois esthétiques et fonctionnelles que celles faites avec GTK. Je trouve également que le mécanisme d'événement signal / slot de Qt est plus facile à utiliser. YMMV.
Il n'y a vraiment pas de standard pour le développement de l'interface graphique Python, du moins pas que j'ai vu, mais de mes collègues développeurs Python avec qui j'ai travaillé au fil des ans, ils m'ont suggéré wxPython et PyQT plus que n'importe lequel des autres boîtes à outils. Pour être honnête, je ne sais pas s'il existe un nombre substantiel de postes de développement d'interface graphique Python. La majeure partie du développement Python que j'ai fait au fil des ans a été côté serveur, mais cela ne veut pas dire qu'il n'y a pas diverses entreprises qui cherchent maintenant à emprunter la voie open source pour leurs applications GUI.
la source
Tk était la norme, mais c'est sans doute simpliste et laid. Puis Qt est devenu assez populaire. Gtk est également possible, et cela couvre les favoris sur les plates-formes Linux.
Mais vous avez raison, il n'y a vraiment pas de réponse évidente. Le sur-choix est assez courant dans le monde open source, après tout.
la source
Il n'y a pas de «standard» et je suis d'accord - la pléthore de choix est pénible. En ce qui concerne un IDE `` d'outils bidirectionnels '' intégré pour les interfaces graphiques Python, je me demande également pourquoi il ne semble pas y en avoir - peut-être parce qu'il y a tellement de boîtes à outils GUI que personne ne veut investir dans un IDE pour l'un des leur.
Cela dit, PyQt 4.7 avec P3k vous offrira de merveilleuses interfaces graphiques (ainsi que de nombreuses autres fonctionnalités puissantes). Voir http://www.riverbankcomputing.co.uk/static/Docs/PyQt4/html/introduction.html - "Ceci est le guide de référence pour PyQt 4.8.4. PyQt v4 est un ensemble de liaisons Python pour la v4 du Qt cadre d'application de Nokia. "
PyQt est largement utilisé et il existe de bons livres à ce sujet: voir http://www.qtrac.eu/pyqtbook.html "Rapid GUI Programming with Python and Qt" entre autres (le livre est un peu dépassé - doit être mis à jour) pour P3k).
Il y a 2 problèmes sérieux avec PyQt:
1) Il a des caractéristiques nettement «non pythoniques», n'étant qu'un mince wrapper sur les bibliothèques C ++ Qt. Mais j'ai recommandé P3k-PyQt 4.7 parce que certains ont été corrigés dans les packages `` les plus récents et les meilleurs ''. Découvrez ce post:
Problèmes de conception PyQt
2) Pour une utilisation commerciale, les frais de licence sont assez élevés, à la fois pour PyQt et Qt.
Une alternative prometteuse à PyQt est PySide de Nokia, un autre wrapper Python pour Qt qui est entièrement open source (qui n'inclut pas la licence Qt cependant).
En savoir beaucoup sur Qt n'est pas une mauvaise chose sur le marché, et vous obtiendrez cela de PyQt, donc je lui donnerais (ou PySide) une considération sérieuse si vous essayez de décider d'une plate-forme graphique pour devenir expert en .
Indépendamment de ce que vous choisissez, je suggérerais d'éviter tkinter pour la plupart, même s'il est `` prêt à l'emploi '' avec Python, car il est extrêmement limité, et à l'OMI, il a une apparence et une sensation grossières et obsolètes.
HTH
la source
pyGTK est prolifique. Il est assez facile à utiliser et rend les interfaces graphiques qui ne sont pas à moitié mauvaises.
la source
Gtk3 est un framework GUI très mature. Il a des liaisons Python natives (GObject Introspection) et beaucoup de documentation . Si vous faites pas mal de GUI, pensez à utiliser Anjuta . Anjuta possède une interface glisser-déposer pour configurer facilement vos widgets.
WxWidgets est assez bon, mais il n'y a pas de moyen facile d'avoir des rappels Python générés dynamiquement comme Anjuta le fait pour Gtk.
PyGtk est désormais obsolète au profit des liaisons Gtk3 vers Python (GObject Introspection)
PyQt est également un joueur dans l'interface graphique Python, mais il n'a pas une grande communauté.
BoaConstructor est plus longtemps entretenu et serait stupide à utiliser.
la source