Existe-t-il un concepteur d'interface graphique pour Python?

107

Existe-t-il une interface utilisateur graphique pour la programmation python, tout comme java a Netbeans?

Je voulais un endroit où nous pourrions glisser et déposer des boîtes de test et des étiquettes, comme nous le faisons pour les composants Swing utilisant Netbeans ou Eclipse.

Ou existe-t-il un complément présent dans les Netbeans ou dans Eclipse lui-même?

Roshan
la source
Avez-vous examiné dans le Centre logiciel Ubuntu certains des éléments répertoriés sous Outils de développement> Python?
Christopher Kyle Horton
4
Personnellement, je recommande d'essayer de créer quelque chose à la main à la suite d'un tutoriel, car si vous ne comprenez pas comment les éléments que vous dessinez interagissent, vous aurez du mal à faire fonctionner des boutons, etc.
Ivo Flipse
1
Notez bien que, pour tout ce qui n’est pas trivial, les applications gtk qui n’utilisent pas Glade ou quelque chose de similaire auront l’air assez moche et compliqué très rapidement. Même en utilisant Glade, vous aurez encore beaucoup de chances d’apprendre à connaître l’API Pygtk.
Stefano Palazzo
J'ai voté pour quelque chose comme Visual Studio for Python?
Abdul Qayyum

Réponses:

103

Clairière Installer la clairière

Si vous voulez un concepteur d’interface graphique wysiwyg, Glade est votre meilleur choix:

  • D'abord, installez gladedepuis le centre logiciel
  • créez votre interface graphique, enregistrez-la sous, par exemple, myapp.glade

    entrez la description de l'image ici

  • Accédez à l' onglet des signaux et configurez votre rappel, tel queon_window1_destroy

  • Dans votre programme python, indiquez à GTK de charger les définitions d'interface utilisateur.

    import gtk
    
    
    class MyApp (object):
    
        def __init__(self):
            self.builder = gtk.Builder()
            self.builder.add_from_file("myapp.glade")
            self.builder.connect_signals(self)
    
        def run(self):
            self.builder.get_object("window1").show_all()
            gtk.main()
    
        def on_window1_destroy(self, *args):
            gtk.main_quit()
    
    
    MyApp().run()

Après avoir tout configuré, vous pouvez plonger directement dans le didacticiel de Glade (comme Jeremy Kerr l’a mentionné dans sa réponse). Commencez par vous familiariser avec les différentes options de mise en page et les différents signaux.


Rapidement Installer rapidement

Lorsque vous vous sentez à l'aise avec Glade, vous pouvez commencer à l'utiliser via Quickly, un ensemble de programmes destinés à simplifier très facilement les tâches courantes de développement de logiciels. Il prend en charge les traductions, le stockage de la configuration, l’emballage, l’intégration du tableau de bord, y compris les PPA, et bien d’autres encore:

sudo apt-get install quickly
quickly create ubuntu-application hello-world
cd hello-world/

Rapidement crée maintenant un projet énorme avec tout ce dont vous avez besoin déjà configuré. Une interface graphique , les fichiers de traduction, la configuration via desktopcouch , etc.

Vous verrez rapidement configurer pour vous quelques fenêtres (l’application principale, la configuration et un dialogue). Pour commencer à éditer votre interface graphique:

  • courir quickly design

    entrez la description de l'image ici

  • Pour obtenir le code de l'application, exécutez quickly edit

  • Aller au HelloWorldWindow.pyfichier

  • Maintenant, commencez à ajouter des gestionnaires de signaux et une logique.

Enfin, pour exécuter votre application, tapez quickly run.

À ce stade, vous pouvez accéder à la documentation PyGTK pour en savoir plus sur les signaux, les signatures de leurs gestionnaires, les méthodes des différents widgets, etc.


Voir aussi quelques questions connexes:

Stefano Palazzo
la source
2
Cette réponse est tellement bonne que ce sera une référence pour les autres :)
Nathan Osman
1
J'ai trouvé Glade un RAD terrible et buggy.
renatov
49

Qt-Designer

PyQt est livré avec Qt 's Designer , un éditeur graphique très soigné, si vous avez envie d'écrire votre application avec le framework Qt.

Capture d'écran Qt Designer

Qt Créateur

Le nouvel IDE de Qt offre une prise en charge complète pour la conception de widgets (en tant que concepteur ci-dessus) et d'applications QtQuick, ce qui est préférable pour les applications légères, fluides et tactiles (applications pour tablettes / mobiles).

Macke
la source
23

Souhaitez-vous un IDE complet (éditeur de code, environnement d’exécution, outils de présentation de l’UI) ou simplement un utilitaire pour créer l’UI?

Si vous recherchez un environnement de programmation complet, consultez l' ensemble d'outils Quickly .

Si vous cherchez uniquement à concevoir des interfaces, vous pouvez utiliser le concepteur 'Glade' pour mettre en forme votre interface à l'aide de widgets GTK, puis charger cette définition d'interface utilisateur dans un programme python. Il existe un didacticiel de programmation pour l’interface graphique GTK + et Glade3 (avec des exemples Python et C).

Jeremy Kerr
la source
14

Eric IDE Installez Eric

Essayez avec Eric IDE. Je pense que c'est le meilleur IDE à la fois pour Python et Qt4.

Eric IDE

Witek
la source
2
Pourquoi cela a-t-il été voté? Eric est une belle interface graphique Python qui intègre le développement QT. Il peut concevoir des interfaces graphiques (à l’aide de QT Designer) et même compiler les fichiers .ui en python (inutile d’utiliser la ligne de commande). C'est un peu un Eclipse ou Visual Studio pour pyQt. C'est trop lourd à mon goût, mais c'est une option intéressante pour les autres.
Javier Rivera
@ JavierRivera: probablement parce que cela ressemble à un IDE, pas à un concepteur d'interface graphique.
Jeremy Kerr
8

wxFormBuilder

Cela dépend également de la boîte à outils de widgets que vous souhaitez utiliser. Je préfère les wxWidgets avec python, wxPython .

Donc, ma préférence pour la construction de l'interface graphique est wxFormBuilder , elle est disponible à partir du PPA suivant:

Il comporte un simple glisser-déposer des widgets sur un canevas et vous pouvez rapidement basculer sur l’onglet Code pour voir ce qu’il a généré, ce qui, à mon avis, est pur et sans encombrement. Comme son nom l’indique, c’est un constructeur de formulaires, c’est ce en quoi il se spécialise. Ne vous attendez donc pas à développer un projet complet avec ce dernier. Toutefois, si vous souhaitez conserver la conception de formulaire séparée du code d’analyse, elle se charge travail bien.

Adrian
la source
1
La version stock d'Ubuntu ne peut pas générer de code Python pour une raison quelconque. J'espère que la version PPA n'a pas ce problème.
Christoph
1
oui, la version PPA peut générer du code python.
Christoph
3

Il y a un nouvel enfant en ville: Camelot . Il est conçu pour construire des interfaces graphiques très rapidement. Cela vous aide à vous concentrer sur votre application plutôt que sur le code de l'interface graphique. Les mainteneurs disent

Camelot fournit des composants permettant de créer des applications métier en plus de Python, SQLAlchemy et Qt . Il est inspiré de l'interface d'administration de Django. Vous pouvez utiliser Camelot pour développer des applications métiers simples et complexes à la vitesse de la chaîne.

Le cadre a été présenté à plusieurs reprises lors de réunions internationales de python. Ses avantages sont

Avantages pour les développeurs

  • En plus d'une technologie de haute qualité et éprouvée

  • Les vues sont liées au modèle de données sans écrire de code

  • Personnalisable via le framework Actions

  • Documenté à partir du didacticiel d'introduction pour l'impression des rapports

  • Warpspeed à la solution déployable

Avantages utilisateur

  • GUI réactif et familier

  • Editeurs et contrôles de haute qualité

  • Des tonnes de fonctions intégrées telles que l'importation, l'exportation, l'impression, la sauvegarde et la restauration

  • Mappé aux processus d'affaires

Visitez http://www.python-camelot.com/ pour plus d'informations, présentations, vidéos youtube et plus.

disclaimer: J'ai vu cela en action et j'ai discuté avec les développeurs. Je suis peut-être partial, mais je crois honnêtement que c'est un excellent logiciel.

don.joey
la source
2

SharpDevelop

Capture d'écran SharpDevelop

SharpDevelop est destiné au développement d'applications basées sur .Net Framework. Il prend en charge IronPython et dispose d'un concepteur d'interface graphique pour WinForm, Silverlight, WPF Application. Bien que Visual Studio ait également divers concepteurs d’interface graphique pour IronPython, il n’a toutefois pas d’interface graphique pour WinForm.

Denny Imanuel
la source
1

Personne n'a mentionné d'outil très utilisé dans d'autres langages et qui pourrait être connu en démarrant l'utilisateur. Eclipse a une perspective pour python appelée PyDev.

Osis
la source
Eclipse peut-il construire une interface graphique? Même en Java?
Eric Wilson
@ FarmBoy: oui, c'est possible.
RolandiXor
1
La perspective pydev a-t-elle un concepteur d'interface graphique?
Stefano Palazzo
1

Découvrez PyForms, il est basé sur PyQt. Il peut être utilisé avec Qt Designer, mais il est également assez facile de concevoir des interfaces graphiques directement dans le script Python.

https://github.com/UmSenhorQualquer/pyforms/

Ricardo Ribeiro
la source
-4

Le meilleur IDE Python de tous les temps est PyCharm. Mais ce n'est pas gratuit et il n'a pas de concepteur d'interface graphique. http://www.jetbrains.com/pycharm/index.html

WildDAlex
la source
8
L'OP a spécifiquement indiqué qu'il recherchait un concepteur d'interface graphique.
Fouric
2
en fait, l'édition communautaire est gratuite (4.5) et pour être juste, aucune des autres réponses ne fournissait vraiment un IDE de construction d'interface graphique non plus, ils ne font que mentionner des solutions à moitié avancées pour contourner cela --- et pour mémoire, PyCharm est un bonne suggestion tant que vous savez comment l'utiliser (et oui, il peut être utilisé avec les constructeurs d'interface graphique de la même manière que les autres) - vous voudrez peut-être ajouter cette note à votre réponse si vous souhaitez récupérer une partie du représentant perdu
osirisgothra