Форум программистов, компьютерный форум, киберфорум
Бета-тестирование
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.62/103: Рейтинг темы: голосов - 103, средняя оценка - 4.62
 Аватар для Фаер
792 / 398 / 260
Регистрация: 09.12.2011
Сообщений: 786
Записей в блоге: 53

Визуальный GUI Конструктор Для Python Иттрий (альфа)

15.01.2016, 22:19. Показов 20900. Ответов 52

Студворк — интернет-сервис помощи студентам
Здорово, форумчане!
Хочу представить Вам совместный проект меня и ещё одного пользователя Cyberforum Юрий Денисов.
Наша программа (пока в альфа-версии) призвана предоставить Python-программистам все удобства для визуальной сборки графических интерфейсов на основе tkinter(и других пакетов со временем).

На данный момент Иттрий позволяет: собирать окна(Tk) с заголовком и иконкой, с виджетами Label(надпись), Button(кнопка) и Entry(поле для ввода текста). В приложение встроен механизм создания и открытия в IDLE файла основной программы проекта. В нём Вы сможете, не выходя из программы, написать все необходимые функции-обработчики.

Особенно интересен тот факт, что конструируемый интерфейс работает прямо внутри окна Иттрия! То есть Вы можете создать кнопку, с помощью системы обращения к IDLE прописать её command и тут же, прямо в окне Иттрия, нажать на кнопку, после чего увидеть результат выполнения функции! Короче, на словах всей красоты не расскажешь. Скачивайте!

Установка:
После установки через MSI-файл Вам нужно будет пройти в каталог pythonxx/Lib и скопировать папку idlelib в каталог, в который установлен Иттрий. В противном случае команда "Добавить функцию" работать не будет.

Создание GUI:
Многие вещи описаны во встроенной справке программы, но вот несколько замечаний:

Для того, чтобы добавить виджет, Вам нужно щёлкнуть по нему в панели "Добавить", а затем кликнуть по одной из подсвечиваемых зелёным цветом клеток. Эти клетки являются фреймами и после сохранения\сборки интерфейса, они будут при помощи grid() размещены на главном окне. Пустые фреймы не сохраняются!



Чтобы добавить во фрейм ещё один виджет, опять же, выберите его в панели, а затем щёлкните по зелёной границе.



Интерфейсы сохраняются в папке guis в каталоге, в который установлено приложение.

Скачать последнюю версию

Когда закончите конструировать интерфейс, воспользуйтесь командой Проект->Собрать. Подробнее о ней читайте в справке!

Если возникнут ошибки или какие-то сложности, обязательно пишите! Первая альфа - понятно, что всё ещё сырое.
4
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.01.2016, 22:19
Ответы с готовыми решениями:

Какой визуальный билдер GUI для Python лучше?
На Windows.И самый привычный для программиста Windows, работавшего на Visual Studio, Delphi. Добавлено через 1 минуту Желательно для...

Визуальный конструктор тем для Wordpress?
Существует какой-то нормальный визуальный конструктор тем для Wordpress? Хочу сделать сайт, часть страниц которого буду иметь лендинговый...

Посоветуйте визуальный конструктор для создания БД
Посоветуйте визуальный конструктор для создания БД. Основные требования: Отсутствие знания РНР; Создание динамических словарей,...

52
 Аватар для Фаер
792 / 398 / 260
Регистрация: 09.12.2011
Сообщений: 786
Записей в блоге: 53
15.01.2016, 22:25  [ТС]
Забыл сказать: Ваши интерфейсы сохраняются в GIP-файлах. Впоследствии, они собираются при помощи специального конструктора, который должен загружаться в конце Вашего главного скрипта. Подробнее, опять же, смотрите в Справке.
1
 Аватар для Фаер
792 / 398 / 260
Регистрация: 09.12.2011
Сообщений: 786
Записей в блоге: 53
16.02.2016, 20:58  [ТС]
Новая версия, уважаемые!

Иттрий 0.31



Список нововведений:

- Добавлены виджеты: Text, Listbox и GIF-изображения.
- Появилась система создания главного меню окна (это в котором, обычно, располагаются Файл, Правка, Сервис, Справка).
- Ко всем виджетам добавлены параметры: рельеф, отступы (padx, pady внутри pack()) и ориентация (TOP, LEFT, RIGHT, BOTTOM в pack()).
- Команды Создать, Загрузить и Сохранить Интерфейс теперь можно вызывать горячими клавишами.
- В диалоге создания кнопок Button поле для ввода имени вызываемой по нажатию функции заменено выпадающим списком, в который автоматически загружаются имена функций из Вашего PY-файла проекта.
- В меню Проект добавлена команда открытия в Проводнике каталога проекта после сборки проекта.
- Теперь при сборке проекта в результирующий каталог (который и открывается в Проводнике) будут автоматически копироваться изображения, использованные в интерфейсе, и иконка программы.
- Добавлен вызов функций создания главного окна и загрузки проекта по нажатию Enter в соответствующих диалогах. Горячая клавиша, так сказать.
- В панели добавления виджетов появились всплывающие подсказки с оригинальными именами виджетов. Просто для удобства.
- Исправлен баг с вылетом программы при попытке удалить проект, каталог которого открыт в Проводнике.

Плюс, была, как Нам кажется, исправлена проблема с IDLE. Теперь для открытия PY-файла проекта (через кнопку Добавить->Функцию) копировать каталог idlelib в каталог Иттрия не требуется. Но это ещё не окончательно подтверждённая информация.



В ближайшее время скомпилируем Construct.pyc для версий Python 3.1, 3.2 и 3.4. Это для тех, у кого сохранённые интерфейсы падают с ошибкой BadMagickNumber. В данный момент Иттрий совершенно работает только с Python 3.3.

Скачать Иттрий 0.31 x64

Не забывайте о встроенной справке, сообщайте о багах и неудобностях и, если нравится приложение, делитесь им!
1
0 / 0 / 0
Регистрация: 09.09.2015
Сообщений: 28
20.02.2016, 22:49
Если скачали, пожалуйста, оставляете отзывы! Нам интересно.
0
 Аватар для Фаер
792 / 398 / 260
Регистрация: 09.12.2011
Сообщений: 786
Записей в блоге: 53
20.02.2016, 23:35  [ТС]
Обещанные конструкторы для разных Python. Это для тех, у кого оригинальная версия при запуске собранного интерфейса выдаёт ошибку BadMagicNumber.

Вам нужно скопировать Construct.pyc в каталог Иттрия с заменой. Версия Construct должна совпадать с версией Вашего Python. Если совпадает, но всё равно BadNumber, пишите, перекомпилируем.

Скачать конструктор для:
Python 3.1
Python 3.2
Python 3.4

Напомню, в оригинальной версии Иттрия стоит конструктор для Python 3.3.

К следующей версии облагородим, с Иттрием будут идти сразу все версии Construct, так что можно будет собирать под разные Python без замен файлов и т.д.

---
Опыт показывает, что не все разобрались с запуском собранных интерфейсов. Так вот, после того, как закончили набрасывать виджеты, сохраните интерфейс, затем в меню окна нажмите "Проект->Собрать", затем "Проект-Каталог". В открывшемся каталоге Вашей главной программой будет PY-файл с именем Вашего проекта. Его и запускайте. Он импортирует конструктор, который, в свою очередь, соберёт интерфейс и выведет его на экран.
0
 Аватар для Фаер
792 / 398 / 260
Регистрация: 09.12.2011
Сообщений: 786
Записей в блоге: 53
26.03.2016, 19:10  [ТС]
Новая версия конструктора, леди и джентльмены.

Иттрий 0.47

Список нововведений:
- Появилась возможность конструировать дополнительные окна Toplevel, причём сделать их можно вызываемыми: просто пишете в любую нужную функцию-обработчик строку Construct.loadtop('имя окна') и получаете результат. Конструируются доп. окна так же, как и обычные.
- Добавлено аж четыре новых виджета: Canvas, Radiobutton(переключатель), Checkbutton(флажок) и Scrollbar(полосы прокрутки).
- В конструкторы виджетов добавлены цвет фона и цвет текста виджета.
- В меню окна теперь можно использовать сепараторы, а сами меню можно ставить на второй уровень каскада: меню внутри меню.
- Система сборки теперь включает в себя четыре разные версии сборщика Construct.pyc: для разных версий Python.
- Рабочее поле конструктора теперь растягивается вместе с окном, так что Вы сможете работать в удобных для Вас условиях.
- Имя проекта и заголовок главного окна разделены - теперь Вы можете без опаски использовать заголовки окон с русскими символами.
- Исправлен баг с наслаиванием интерфейсов друг на друга при загрузке или создании нового интерфейса.
- Конструктор меню окна можно вызывать горячей комбинацией.
- Исправлен баг с вылетом программы при попытке дать проекту имя уже существующего проекта.



Иттрий, к слову, стал платным. Он пока что в альфе, так что цена совсем скромная(при повышении цены доплачивать уже купившим не придётся).

Ограничения в демо:
- Отключены конструкторы доп. окон Toplevel и меню окна.
- Нельзя использовать флажки, радиокнопки и полосы прокрутки.

То есть на демо-версии Вы интерфейс, конечно, собрать сможете, но простенький.
Не забывайте сообщать об ошибках и, если есть идеи по совершенствованию, озвучивать их.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.04.2016, 20:25
[del]
0
0 / 0 / 0
Регистрация: 09.09.2015
Сообщений: 28
08.04.2016, 20:28
И до PyQt дойдем , не всё сразу. Берите пока дёшево, потом подорожает.
0
 Аватар для Фаер
792 / 398 / 260
Регистрация: 09.12.2011
Сообщений: 786
Записей в блоге: 53
08.04.2016, 20:40  [ТС]
Avazart, я думаю, для PyQt Мы отдельный комплект сделаем.

Просто при попытке "скомпилировать" приложение с PyQt возникают катастрофические проблемы. С tkinter'ом же всё гладко. Потому и начали с него.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.04.2016, 21:15
Цитата Сообщение от Фаер Посмотреть сообщение
Avazart, я думаю, для PyQt Мы отдельный комплект сделаем.
А зачем там что то делать? Там родной дизайнер форм Qt Designer

Цитата Сообщение от Фаер Посмотреть сообщение
Просто при попытке "скомпилировать" приложение с PyQt возникают катастрофические проблемы. С tkinter'ом же всё гладко. Потому и начали с него.
Да нет никаких проблем, там все более чем гладко, все как С++Qt только без меню перейти к слоту, руками приходится прописывать.
0
0 / 0 / 0
Регистрация: 09.09.2015
Сообщений: 28
08.04.2016, 21:23
У нас в Иттрии удобнее. К тому же интерфейсы сохраняются в отдельных файлах.
0
 Аватар для Фаер
792 / 398 / 260
Регистрация: 09.12.2011
Сообщений: 786
Записей в блоге: 53
08.04.2016, 21:32  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Там родной дизайнер форм Qt Designer
Та кто ж им пользуется-то? Сначала разбери параметры и классы PyQt, потом собери, потом преобразуй пакетом-посредником или с ООП тужься. Уж с таким функционалом быстрее от руки написать код, если опыт имеется.

А в Иттрие всё на человеческом языке, без психически зашвырянного всем подряд интерфейса, посредников, конвертирований и ООП. Импортировал модулец и спокоен. Я уж не говорю о скорости. Это, кстати, стоит проверить, кто шустрее.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.04.2016, 21:44
Цитата Сообщение от Юрий Денисов Посмотреть сообщение
У нас в Иттрии удобнее
Сомневаюсь, что велосипед может быть удобнее.
Цитата Сообщение от Юрий Денисов Посмотреть сообщение
К тому же интерфейсы сохраняются в отдельных файлах.
А в Qt тоже отдельный файл xml формата- *.ui, и вроде есть возможность его переконвертить в питоновский код.

Добавлено через 2 минуты
Цитата Сообщение от Фаер Посмотреть сообщение
Та кто ж им пользуется-то? Сначала разбери параметры и классы PyQt, потом собери, потом преобразуй пакетом-посредником или с ООП тужься. Уж с таким функционалом быстрее от руки написать код, если опыт имеется.
А кто им не пользуется? Мазохисты?
Преобразовывать не обязательно. Можно и от руки, но явно не быстрее. Визуально проще и нагляднее если знаешь что делаешь. Остается лишь за малым связать слоты с сигналами в коде, для этого да приходится смотреть в справку Qt.
Но как бы классы Qt по любому нужно знать, ибо как писать без знания фрейворка?

Добавлено через 4 минуты
Цитата Сообщение от Фаер Посмотреть сообщение
А в Иттрие всё на человеческом языке
Хз не знаю не имел дел с Иттрие тут не могу сказать, но выглядит не очень.
Да и tkinter как то поле Qt ...
0
0 / 0 / 0
Регистрация: 09.09.2015
Сообщений: 28
08.04.2016, 21:45
Цитата Сообщение от Avazart Посмотреть сообщение
А Qt тоже отдельный файл xml формата.
Это же сколько ресурсов надо на интерпретацию xml?! У нас всё шустро. Не верите?! А Вы скачайте и проверьте!
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.04.2016, 21:52
Цитата Сообщение от Юрий Денисов Посмотреть сообщение
Это же сколько ресурсов надо на интерпретацию xml?! У нас всё шустро. Не верите?! А Вы скачайте и проверьте!
Хз все равно пишется на скриптовом языке, ну подумаешь чуть дольше будет запускаться, опять же говорю можно перегнать в питоновский код с помощью тузлы на конечном этапе.
0
0 / 0 / 0
Регистрация: 09.09.2015
Сообщений: 28
08.04.2016, 21:54
У нас сборщик всё равно удобнее
0
08.04.2016, 21:57

Не по теме:

Цитата Сообщение от Юрий Денисов Посмотреть сообщение
Это же сколько ресурсов надо на интерпретацию xml?! У нас всё шустро. Не верите?! А Вы скачайте и проверьте!
Ну лично мне нет смысла, ибо все равно использую блага Qt как примером MVC.
В tkinter есть к примеру виджеты которые можно таблицу из БД отобразить/редактировать?
Или модуль для многопоточности?

0
 Аватар для Фаер
792 / 398 / 260
Регистрация: 09.12.2011
Сообщений: 786
Записей в блоге: 53
08.04.2016, 21:57  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Сомневаюсь, что велосипеды может быть удобнее.
Вторые всегда успешнее первых, потому что видят ошибки первых.

Цитата Сообщение от Avazart Посмотреть сообщение
А параметры и классы Qt по любому нужно знать, ибо как писать?
Ну так вот, а при работе с Иттрием знать нужно гораздо меньше. Сам интерфейс можно собрать, вообще не зная Python. Другой разговор, что без функций никак. Но представьте, что Вы можете отдать разработку интерфейса ребёнку, пока сами будете работать над функционалом. Скажем, о существовании какого-нибудь там параметра правил переноса текста в виджете или классах спец. переменных Вам и подозревать не придётся - get'ом и set'ом ограничитесь.

Цитата Сообщение от Avazart Посмотреть сообщение
но выглядит не очень.
То есть уже сказать нечего, но промолчать не получается.

Цитата Сообщение от Avazart Посмотреть сообщение
Да и tkinter как то поле Qt
Мелкая ерунда, которой PyQt превосходит tkinter, не имеет реальной ценности.
0
Эксперт С++
 Аватар для Avazart
8488 / 6155 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.04.2016, 22:03
Цитата Сообщение от Фаер Посмотреть сообщение
Вторые всегда успешнее первых, потому что видят ошибки первых.
Зачастую наоборот, велосипеды глохнут и дохнут из-за слабой мощи и поддержки.

Цитата Сообщение от Фаер Посмотреть сообщение
То есть уже сказать нечего, но промолчать не получается.
Я не никого не хотел обидеть, если что.
0
0 / 0 / 0
Регистрация: 09.09.2015
Сообщений: 28
08.04.2016, 22:04
Avazart, это только четвёртая альфа. Дальше будет больше.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
08.04.2016, 22:04
Помогаю со студенческими работами здесь

Визуальный конструктор для добаления новостей на сайт.
Приветствую. Такое дело... есть сайт, для него нужно сделать нечто похожее на фронт пэйдж - чтобы менеджеры могли добавлять...

Python 3 GUI для новичка
Доброго вам времени суток ув. питоноводы! Я только начал изучение Python 3 и меня несколько смутило количество различных GUI библиотек:...

Создание gui для программы на python
Пару дней назад начал читать про питон, язык заинтересовал, сейчас пытаюсь изучать. Узнал о возможности создания графического интерфеса....

Загрузка файла для GUI на Python
Ребят, в общем, пишу GUI на PyQT5. И понадобилось сделать загрузку файла в программу, так чтобы например при нажатии на клавишу...

Пропал визуальный конструктор
Раньше пользовался vs2010, там был визуальный конструктор, потом поставил vs2008, а там его нет. Гугол сказал, якобы надо какую-то...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru