Question

J'ai une petite expérience du développement de petites applications en ligne de commande avec Python. Je souhaite développer des interfaces graphiques avec Python. Parmi les kits d’interface graphique disponibles pour Python, ceux qui me semblent les plus enclins sont wxPython et Tkinter ; mais je ne veux pas coder toute l'interface graphique par moi-même tout le temps.

Existe-t-il de bons IDE GUI pour l’un de ces toolkits? Il n'a pas besoin d'être gratuit ou open source.

Était-ce utile?

La solution

Je ne parlerai que de WxPython car c'est la seule boîte à outils que j'ai expérimentée. TkInter est agréable pour écrire de petits programmes (alors il ne nécessite pas de concepteur d'interface graphique), mais n'est pas vraiment approprié pour le développement d'applications volumineuses.

  • wxFormBuilder est vraiment bon: il génère des fichiers .XRC que vous devez charger dans votre programme, et il peut générer des fichiers .py en les sous-classant lors de l'utilisation.

  • DialogBlocks et wxDesigner sont deux logiciels commerciaux pouvant générer directement du code Python. Je ne les ai pas beaucoup testés à cause de leur prix.

  • wxGlade n'est (à mon avis) pas encore assez mature pour les programmes volumineux, mais cela vaut la peine d'essayer.

Après avoir essayé toutes ces solutions, j’ai réalisé qu’ils avaient tous les failles et que rien n’était mieux que de simplement écrire l’interface graphique dans un éditeur. Le problème est la courbe d'apprentissage prolongée. Mais alors, vous serez beaucoup plus rapide et votre code sera beaucoup plus souple que lorsque vous utilisez un concepteur d’interface graphique.

Consultez cette liste des principales applications écrites avec wxPython. Vous verrez probablement qu’aucun d’entre eux n’utilise un concepteur d’interface graphique, il doit y avoir une raison à cela.

Vous comprenez alors que gs a raison de dire que vous passez à PyQt ou que vous écrivez votre application manuellement. J'ai jeté un coup d'œil à Qt Designer dans le passé et je pensais que c'était ce dont j'avais besoin. Malheureusement, PyQt a des restrictions de licence.

Autres conseils

Cela ne répond peut-être pas directement à votre question, mais j’ai choisi PyQt , car il n'y avait pas de bons concepteurs d'interface utilisateur pour wxPython.

Apparemment, vous écrivez vos interfaces graphiques à la main ou passez à PyQt.

Nokia et Riverbankcomputing n'ayant pas réussi à s'entendre sur une solution LGPL, Nokia a décidé de créer ses propres liaisons: PySide .

Boa Constructor possède un générateur d'interface graphique utilisateur WxPython.

J'utilise xrced (fourni avec wxPython). L’interface graphique est définie dans des fichiers xml, vous avez un fichier python généré automatiquement qui automatise l’initialisation, puis vous sous-classez ces classes générées automatiquement et effectuez le reste de l’initialisation à la main. Je trouve que c’est un bon moyen de mélanger l’élégance du code graphique écrit à la main avec la facilité de génération de code graphique.

Pour le code que j'utilise, WingIDE , il est utile de disposer d'un bon débogueur et de compléter le code source lorsque traiter avec de grandes bibliothèques (ou des frameworks si vous voulez) comme wxPython.

Si vous souhaitez davantage d'automatisation (et donc de code plus laid), essayez la dernière version de Boa . , il existe de jolis screencasts d’introduction sur ShowMeDo.com

Essayez VisualWx . Je pense que le concepteur d'interface graphique est très bon; Cependant, l'EDI est assez rudimentaire (pas de code complet, débogage, etc.) Mon modèle de travail est d'avoir VisualWx et un bon éditeur comme Komodo Edit / Netbeans / etc. ouvrir en même temps et basculer entre eux au besoin.

J'utilise Eclipse avec PyDev comme IDE Python (ce qui n'est probablement pas la meilleure solution, mais c'est tout à fait décent)

Pour le développement de l’interface graphique, j’ai utilisé wxGlade pour un projet de taille moyenne et j’ai trouvé que c’était très facile à utiliser. Vous avez compris les concepts de WxPython. La génération XML est très utile pour séparer la conception de l’interface graphique réelle de la logique du programme.

Tous ces éléments sont gratuits.

J'ai utilisé wxGlade pour quelques applications stratégiques. Si vous êtes un peu faible en wx, cela peut être difficile, mais une fois que vous vous y êtes habitué, c'est un excellent outil.

Ce n'est pas vraiment un IDE graphique mais cela vous amène à définir des interfaces graphiques Tkinter dans un fichier JSON: https://github.com / tmetsch / pytkgen

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top