web-dev-qa-db-fra.com

Existe-t-il une application de conception graphique pour la géométrie Tkinter / Grille?

Est-ce que quelqu'un connaît une application de conception graphique qui vous permet de choisir/glisser/déposer les widgets, puis de transformer cette présentation en code Python avec les appels et arrangements appropriés de Tkinter à l'aide de la commande grid gestionnaire de géométrie? Jusqu’à présent, j’ai trouvé quelques belles options que je pourrais utiliser, mais elles génèrent du code en utilisant soit pack ou place.

Avant de le dire: oui, je sais que Tkinter est facile à apprendre, et oui, j'ai trouvé plusieurs sources en ligne pour m'aider à le faire, et je suis déjà en route pour ça. Il ne s'agit pas d'éviter les efforts d'apprentissage, mais d'utiliser le bon outil pour le poste. J'ai découvert il y a longtemps que ces environnements de widgets glisser-déposer pour la logique de programme sont trop simples et ingérables lorsque le projet dépasse une certaine taille. Pour des projets plus volumineux, il est simplement plus facile de créer et de maintenir la logique. quand c'est en texte brut. Plus récemment, j'ai découvert que l'inverse est vrai pour la conception d'une interface graphique. L'écriture de texte fonctionne jusqu'à un certain point, mais lorsque vous avez une fenêtre principale avec 30 ou 40 widgets, ainsi que deux fenêtres latérales ayant chacune une complexité similaire, cela devient beaucoup plus rapide et plus facile si vous pouvez le concevoir graphiquement plutôt que de le saisir entièrement. .

46
JDM

Vous avez VisualTkinter également appelé Visual Python. Le développement ne semble pas actif. Vous avez les sites sourceforge et googlecode . Site Web est ici .

D'autre part, vous avez [~ # ~] page [~ # ~] qui semble actif et fonctionne dans = python 2.7 et py3k

Comme vous l'indiquez dans votre commentaire, aucun de ceux-ci n'utilise la géométrie grid. Autant que je puisse dire, le seul constructeur d’interface graphique à faire cela pourrait probablement être le constructeur d’interface graphique Komodo Pro qui a été abandonné et rendu open source dans les env. 2007. Le code était situé dans le référentiel SpecTcl .

Il semble s’installer correctement sur Win7 bien que ne l’ait pas encore utilisé. Ceci est une capture d'écran de mon PC:

enter image description here

A propos, Rapyd Tk avait également prévu d'implémenter la géométrie de la grille car, dans sa documentation, il n'était pas encore prêt. Malheureusement, il semble "presque" abandonné.

25
joaquin

Outre les options déjà données dans d'autres réponses, il existe un projet plus actif, récent et à source ouverte plus récent, appelé pygubu .

Voici la première description de l'auteur tirée du référentiel github:

Pygubu est un outil RAD qui permet de développer rapidement et facilement des interfaces utilisateur pour le module python tkinter.

Les interfaces utilisateur conçues sont enregistrées au format XML et, à l'aide du générateur pygubu, peuvent être chargées de manière dynamique par les applications, en fonction des besoins. Pygubu est inspiré de Glade.


programme Pygubu hello world est une vidéo d'introduction expliquant comment créer un premier projet en utilisant Pygubu.

Ce qui suit dans une image d'interface de la dernière version de pygubu designer sur un OS X Yosemite 10.10.2:

enter image description here

Je voudrais certainement essayer et contribuer à son développement.

39
nbro

Le meilleur outil pour faire des mises en page en utilisant la grille, IMHO, est un papier quadrillé et un crayon. Je sais que vous demandez un programme quelconque, mais cela fonctionne vraiment. Je fais de la programmation en Tk depuis deux ou trois décennies, donc la mise en page me convient assez facilement, mais j’éclate tout de même au papier millimétré lorsque j’ai une interface graphique complexe.

Une autre chose à considérer est la suivante: le véritable pouvoir des gestionnaires de géométrie de Tkinter vient de leur utilisation conjointe *. Si vous envisagez d'utiliser uniquement la grille, ou uniquement le pack, vous le faites mal. Au lieu de cela, commencez par concevoir votre interface graphique sur du papier, puis recherchez des modèles qui sont mieux résolus par l’un ou l’autre. Pack est le bon choix pour certains types de dispositions et la grille est le bon choix pour d'autres. Pour un très petit ensemble de problèmes, le lieu est le bon choix. Ne limitez pas votre réflexion à l’utilisation d’un seul des gestionnaires de géométrie.

* Le seul inconvénient lié à l'utilisation des deux gestionnaires de géométrie est que vous ne devez en utiliser qu'un seul par conteneur (un conteneur peut être n'importe quel widget, mais ce sera généralement un cadre).

25
Bryan Oakley