Подтвердить что ты не робот

Есть ли приложение графического интерфейса для геометрии Tkinter/grid?

Кто-нибудь знает о графическом приложении для графического интерфейса, которое позволяет вам выбирать/перетаскивать виджеты, а затем превращать этот макет в код Python с помощью соответствующих вызовов и компоновки Tkinter с помощью менеджера геометрии grid? До сих пор я обнаружил пару довольно приятных вариантов, которые я могу использовать, но они генерируют код, используя вместо этого pack или place.

Прежде чем вы это скажете: Да, я знаю, что Tkinter легко учиться, и да, я нашел несколько онлайн-источников, чтобы помочь мне сделать это, и я уже нахожусь на этом пути. Речь идет не об избегании усилий по обучению, а в том, чтобы использовать правильный инструмент для работы. Я давно узнал, что эти среды виджета с перетаскиванием для кодирования программной логики просто слишком кратки и неуправляемы, когда проект выходит за рамки определенного размера - для большего материала просто проще построить и поддерживать логику когда он в обычном тексте. Совсем недавно я узнал, что обратное верно для проектирования графического интерфейса. Написание текста работает до определенной точки, но когда у вас есть главное окно с 30 или 40 виджетами, а также несколько боковых окон с одинаковой сложностью, это происходит намного быстрее и проще, если вы можете его графически нарисовать, а не печатать на нем все.

4b9b3361

Ответ 1

У вас есть VisualTkinter, также известный как Visual Python. Развитие кажется неактивным. У вас sourceforge и googlecode сайты. Веб-сайт находится здесь.

С другой стороны, у вас PAGE, который кажется активным и работает в python 2.7 и py3k

Как вы указываете в своем комментарии, ни одна из них не использует геометрию grid. Насколько я могу судить, единственным создателем GUI, который может это сделать, может быть Komodo Pro GUI Builder, который был прекращен и сделан с открытым исходным кодом в ca. 2007. Код был расположен в репозитории SpecTcl.

Кажется, что он установлен отлично на win7, хотя еще не использовал его. Это скриншот с моего ПК:

enter image description here

Кстати, Rapyd Tk также планировал внедрить геометрию сетки, так как в ее документации говорится, что она еще не готова. К сожалению, это кажется "почти" заброшенным.

Ответ 2

Помимо вариантов, уже заданных в других ответах, существует более активный, недавний и открытый проект с именем pygubu.

Это первое описание автора, взятое из репозитория github:

Pygubu - это инструмент RAD, который позволяет быстро и легко разрабатывать пользователя интерфейсы для модуля tkinter python.

Созданные пользовательские интерфейсы сохраняются как XML и с помощью pygubu они могут загружаться приложениями динамически по мере необходимости. Pygubu вдохновлен Glade.


Pygubu hello world program - вступительное видео, объясняющее, как создать первый проект с помощью pygubu.

Ниже приведено изображение интерфейса последней версии конструктора pygubu на OS X Yosemite 10.10.2:

enter image description here

Я бы определенно дал ему попробовать и внести свой вклад в его развитие.

Ответ 3

Лучший инструмент для создания макетов с использованием сетки IMHO - это графовая бумага и карандаш. Я знаю, что вы просите какую-то программу, но она действительно работает. Я занимаюсь программированием на Tk в течение нескольких десятилетий, поэтому макет для меня довольно легко, но я все еще вырываю графовую бумагу, когда у меня сложный графический интерфейс.

Еще одна вещь, о которой стоит подумать: реальная сила менеджеров геометрии Tkinter исходит из их использования *. Если вы собираетесь использовать только сетку или только пакет, вы делаете это неправильно. Вместо этого сначала создайте свой графический интерфейс на бумаге, затем найдите шаблоны, которые лучше всего решаются одним или другим. Pack - правильный выбор для определенных типов макетов, а сетка - правильный выбор для других. Для очень небольшого набора проблем место - это правильный выбор. Не ограничивайте свое мышление использованием только одного из менеджеров геометрии.

* Единственное предостережение от использования обоих менеджеров геометрии заключается в том, что вы должны использовать только один контейнер (контейнер может быть любым виджетам, но обычно это будет кадр).