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

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

15.01.2016, 22:19. Показов 21188. Ответов 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
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.04.2016, 22:04
Студворк — интернет-сервис помощи студентам
Цитата Сообщение от Фаер Посмотреть сообщение
Ну так вот, а при работе с Иттрием знать нужно гораздо меньше.
Знать tkinter не нужно?
0
 Аватар для Фаер
792 / 398 / 260
Регистрация: 09.12.2011
Сообщений: 786
Записей в блоге: 53
08.04.2016, 22:04  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
В tkinter есть к примеру виджеты которые можно таблицу из БД отобразить/редактировать?
Одинокому разработчику поделок такое вряд ли пригодится. А вот быстро и просто наклепать легковесный GUI - это совсем другой разговор.
А компании и вовсе профит: зачем платить спецу, если можно дать задание какому-нибудь студенту за копейки!?
Цитата Сообщение от Avazart Посмотреть сообщение
Я не никого не хотел обидеть, если что.
Та я не обиделся, но критика-то существенной должна быть. Когда есть реально проверенные данные, некоторая статистика, то против неё уже не попрёшь. А метафизика и споры о вкусах - это уже не дело.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.04.2016, 22:06
Цитата Сообщение от Фаер Посмотреть сообщение
не имеет реальной ценности.
Да ладно вы не работаете с БД, и не используете распараллеливание (реальное распараллеливание а не то что предлагает СPython) ?

Цитата Сообщение от Фаер Посмотреть сообщение
А компании и вовсе профит: зачем платить спецу, если можно дать задание какому-нибудь студенту за копейки!?
За тем что скупой платит дважды, один раз студенту второй раз спецу ))
0
0 / 0 / 0
Регистрация: 09.09.2015
Сообщений: 28
08.04.2016, 22:06
Цитата Сообщение от Фаер Посмотреть сообщение
А метафизика и споры о вкусах - это уже не дело.
Правильно. Меньше флуда в теме.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.04.2016, 22:08
Цитата Сообщение от Фаер Посмотреть сообщение
Одинокому разработчику поделок такое вряд ли пригодится. А вот быстро и просто наклепать легковесный GUI - это совсем другой разговор.
Насчет легковесности согласен, в плане удобства нет.
0
0 / 0 / 0
Регистрация: 09.09.2015
Сообщений: 28
08.04.2016, 22:10
Цитата Сообщение от Avazart Посмотреть сообщение
Насчет легковесности согласен, в плане удобства нет.
Интерфейсы очень удобно делать, сам пользуюсь . То что не всё есть, так это только альфа, который раз я Вам говорю.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.04.2016, 22:13
Цитата Сообщение от Фаер Посмотреть сообщение
Та я не обиделся, но критика-то существенной должна быть. Когда есть реально проверенные данные, некоторая статистика, то против неё уже не попрёшь.
Выглядит как будто обиделись.
Существенно сколько человек поддерживает проект, сколько им пользуется на данный момент?
0
 Аватар для Фаер
792 / 398 / 260
Регистрация: 09.12.2011
Сообщений: 786
Записей в блоге: 53
08.04.2016, 22:22  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Знать tkinter не нужно?
Ну а зачем? Вот Вам конкретный пример добавления виджета:

Вложение 675570

Создаём переключатель - один из самых сложных виджетов. Какой из его параметров нужно знать, чтобы его добавить? По-моему, никакой. Необходимый минимум для работы - это знать get() и set() от спец. переменной StringVar. Чтоб можно было ж определить, какой вариант выбран пользователем. И всё. Переменные и виджеты инстанцируются автоматически, названия классов знать не требуется, имена аргументов тоже - Вам только данное переменной имя нужно запомнить, а дальше обращаться через dict:

Python
1
tkvars['имя переменной'].get()
Ну, допустим, при работе с Text или Listbox придётся разбираться в их устройстве, чтобы обрабатывать текст или список, но ведь PyQt в этом плане ни чем не проще.

Кстати, как там с JIT-тестированием в Qt Designer? Можно прямо в конструкторе нажать на кнопку, и привязанная к ней функция выведет, к примеру, всплывающее окно?

Добавлено через 1 минуту
Цитата Сообщение от Avazart Посмотреть сообщение
Существенно сколько человек поддерживает проект, сколько им пользуется на данный момент?
Около десяти. В основном, постоянные клиенты магазина. Пока что он ведь в альфе. Что-то можно собрать, но возможности пока ограничены.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.04.2016, 22:29
Цитата Сообщение от Фаер Посмотреть сообщение
Ну, допустим, при работе с Text или Listbox придётся разбираться в их устройстве, чтобы обрабатывать текст или список, но ведь PyQt в этом плане ни чем не проще.
Ну как по мне доступ dict выглядит более велосипедно чем ООП подход,
Цитата Сообщение от Фаер Посмотреть сообщение
Text или Listbox придётся разбираться в их устройстве,
а главное не единообразно, а ведь есть еще табличные представления, браузеры, компоновщики, у которых больше чем одно "свойство" и еще методы.

Цитата Сообщение от Фаер Посмотреть сообщение
Кстати, как там с JIT-тестированием в Qt Designer? Можно прямо в конструкторе нажать на кнопку, и привязанная к ней функция выведет, к примеру, всплывающее окно?
Не совсем понимаю о чем вы.
0
0 / 0 / 0
Регистрация: 09.09.2015
Сообщений: 28
08.04.2016, 22:33
Цитата Сообщение от Avazart Посмотреть сообщение
Не совсем понимаю о чем вы.
А Вы Иттрий скачайте и всё сразу поймёте.
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.04.2016, 22:36
Цитата Сообщение от Юрий Денисов Посмотреть сообщение
А Вы Иттрий скачайте и всё сразу поймёте.
Ничего не найдено
Возможно, владелец удалил файлы или закрыл к ним доступ.
А может быть, вам досталась ссылка с опечаткой.
Битая ссылка?
0
 Аватар для Фаер
792 / 398 / 260
Регистрация: 09.12.2011
Сообщений: 786
Записей в блоге: 53
08.04.2016, 22:36  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Ну как по мне доступ dict выглядит более велосипедно чем ООП подход,
Главное, чтоб не сложнее.

Цитата Сообщение от Avazart Посмотреть сообщение
Не совсем понимаю о чем вы
Ну Мы прямо в окне конструктора добавляем кнопку и можем прямо в конструкторе нажать на неё, и она выполнит функцию, которая к ней привязана.
0
 Аватар для Фаер
792 / 398 / 260
Регистрация: 09.12.2011
Сообщений: 786
Записей в блоге: 53
08.04.2016, 22:40  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Битая ссылка?
Очень неудобная ситуация. Каюсь.
https://yadi.sk/d/o65AAU8IqQaej
https://yadi.sk/d/tVEMzyc-qQaiM

Не по теме:

Утомился я уже что-то.

0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.04.2016, 22:40
Цитата Сообщение от Фаер Посмотреть сообщение
Ну Мы прямо в окне конструктора добавляем кнопку и можем прямо в конструкторе нажать на неё, и она выполнит функцию, которая к ней привязана.
А откуда "оно" знает "состояние" к примеру глобальных переменных итп? Как то беспонтово.
И выполнит "функцию" т.е не метод т.е подход не ООП-ный?
0
0 / 0 / 0
Регистрация: 09.09.2015
Сообщений: 28
08.04.2016, 22:46
Цитата Сообщение от Avazart Посмотреть сообщение
А откуда "оно" знает "состояние" к примеру глобальных переменных итп? Как то беспонтово.
"Оно" импортирует Ваш файл где есть и функции и глобальные переменные.
0
 Аватар для Фаер
792 / 398 / 260
Регистрация: 09.12.2011
Сообщений: 786
Записей в блоге: 53
08.04.2016, 22:53  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
А откуда "оно" знает "состояние" к примеру глобальных переменных итп?
Двусторонний импорт. Интерфейс записывается в файл, по этому файлу конструируется через Construct.pyc, который импортирует в себя файл с функциями. В итоге функции видят глобальные переменные, воспроизведённые Construct'ом из файла интерфейса(список именованных виджетов, спец. переменных и т.д.), а Construct и собранный в его пространстве интерфейс видят функции.
Цитата Сообщение от Avazart Посмотреть сообщение
И выполнит "функцию" т.е не метод т.е подход не ООП-ный?
Не, ну если есть желание, можно и ООП. Файл, который воспроизводит собранный интерфейс, импортирует файл функций(PY-файл), так что, если Вы в файле функций напишете класс с методами и инстанцируете его перед запуском Construct, то сможете и с классом работать.

Добавлено через 5 минут
Господи, Иисусе, в Qt Designer надо регистрироваться чтобы его использовать?
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
08.04.2016, 23:01
Чет не вижу смысла тогда, какая разница от того что бы просто запустить скрипт на выполнение?
Т.е это применимо только когда обработчик не завязан на функционал.
Цитата Сообщение от Фаер Посмотреть сообщение
Господи, Иисусе, в Qt Designer надо регистрироваться чтобы его использовать?
Нет.
И вообще-то он уже входит в комплект PyQt вместе с другими утилитами.
C:\Python34\Lib\site-packages\PyQt5\designer.exe
0
 Аватар для Фаер
792 / 398 / 260
Регистрация: 09.12.2011
Сообщений: 786
Записей в блоге: 53
08.04.2016, 23:44  [ТС]
Цитата Сообщение от Avazart Посмотреть сообщение
Чет не вижу смысла тогда, какая разница от того что бы просто запустить скрипт на выполнение?
Чего смысла? В Construct что ли? Так он собирает интерфейс на 20% быстрее, чем просто скрипт. Это я Вам точно говорю, я проверял. Плюс, удобство - пользователь работает только с функциями, а конструктор свою задачу решает сам.

Что значит, функционал? Интерфейсы работают, достаточно гибко, я не пойму, что Вас не устраивает.

Цитата Сообщение от Avazart Посмотреть сообщение
Нет.
И вообще-то он уже входит в комплект PyQt вместе с другими утилитами.
C:\Python34\Lib\site-packages\PyQt5\designer.exe
Да, я нашёл. Ну, без полулитра явно не въедешь. Всё завалено какими-то списками, подсказок нет, термины свои, какие-то иерархии понаставлены и куча бесполезных примочек.

Очевидно же, что Иттрий проще.
Да, календаря и микроволновой ручки в tkinter нет, но где Вы их в последний раз видели? Я вот в CCleaner не видел ничего подобного, в TeamViewer, в Word, в ACDSee, в антивирусах, в браузерах - нигде не вижу. В Nero Wave Editor были Dial, и они там явно ни к чему - наоборот, неудобно. То есть, по большей части, QT - это просто гора маркетинга.

А структура редактора-то перетырена, да!? Я точь-в-точь такую же схему видел в Visual Basic или как там его.

Фактически, Вам нужно разобрать Qt, Designer и классы, при том, что отдача-то, на самом деле, никчёмная. Linux'оиды вон вообще с терминалами сидят и не парятся, а Вы тут за пару побрякушек уже сколько времени выступаете. Не нужен PyQt. Он жирный, медленный и по функционалу и простоте в обращении совсем не соответствует своему возрасту. За столько лет уже ИИ можно было бы сделать, который исходный код анализирует, сам разрабатывает интерфейс и сам его собирает.

Добавлено через 3 минуты
Чтобы всё это разрешить, Нам с Вами, Avazart, надо провести следственный эксперимент. Взять интерфейс какой-нибудь программы и срисовать его. И посмотреть, кто справится быстрее, проще, чей интерфейс будет работать шустрее и весить меньше.
1
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
09.04.2016, 00:14
Ну календарь как раз распространенная штука, или редко вводите дату?
Банальный ежедневник, напоминалка, не говоря уже программах работающих с БД где часто нужно выбирать даты.

Цитата Сообщение от Фаер Посмотреть сообщение
А структура редактора-то перетырена, да!? Я точь-в-точь такую же схему видел в Visual Basic или как там его.
Структура дизайнера стандартная как у любой нормальной IDE, так что не странно что она на что-то похожая, было бы странно если бы она токовой не являлась.

Подсказки есть и я не знаю что тут может быть непонятно:
Миниатюры
Визуальный GUI Конструктор Для Python Иттрий (альфа)  
0
Эксперт С++
 Аватар для Avazart
8489 / 6156 / 615
Регистрация: 10.12.2010
Сообщений: 28,683
Записей в блоге: 30
09.04.2016, 00:20
Цитата Сообщение от Фаер Посмотреть сообщение
Linux'оиды вон вообще с терминалами сидят и не парятся,
Ну у меня под дебианом работает та же прога что и под виндой и что если сидят... не всем же мудохатся консольками. Кстати чего вы тогда выложили виндовый инсталятор в место простого архива или пакет?

Добавлено через 1 минуту
Цитата Сообщение от Фаер Посмотреть сообщение
Он жирный, медленный и по функционалу и простоте в обращении совсем не соответствует своему возрасту. За столько лет уже ИИ можно было бы сделать, который исходный код анализирует, сам разрабатывает интерфейс и сам его собирает.
Он жирный, это да но функционал у него тоже огромный не сравнимый с tkinter.
Лучше изучать его и не в чем себе не отказывать чем писать велосипеды и уткнуться в нерешаемую проблему.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.04.2016, 00:20

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

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

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

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

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


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

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Новые блоги и статьи
Нейтральные знания, чистый код - бла-бла-бла-бла, на самом деле кликбейт и самореклама, плагиат, и вот почему
Hrethgir 27.07.2026
То-есть отклонение такой публикации говорит само за себя, и пусть только возьмут на вооружение после отклонения публикации - это будет чистейшим актом плагиата. Отклонял Хабр. Дословно, отклонённая. . .
тв 16 бой ии
anaschu 27.07.2026
Великий Перелом ИИ: Как уравнения ОДУ Radau дожали цензурные фильтры Алисы Фиксируем в мемофонде Теории Всего беспрецедентный факт в истории ИИ-зондирования. В затяжном многораундовом. . .
мв 15. непроверенное, возможно, глюк
anaschu 27.07.2026
НАУЧНО-АНАЛИТИЧЕСКИЙ ОТЧЕТ. РАЗДЕЛ 1. 1: «НАУКА» (РАСШИРЕННАЯ СТЕХИОМЕТРИЧЕСКАЯ И ГЕНЕТИЧЕСКАЯ ВЕРСИЯ)Тема: Теоретическое обоснование инвариантности 19-мерного тензорного ядра непрерывных ОДУ и. . .
Очистка реквизитов и табличных частей документа при копировании (вариант 2)
Maks 26.07.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРаботу", разработанного в КА2. Задача: Заменить алгоритм запрета копирования документов для сотрудников с ролью "Стажер",. . .
Доктрина интенционального знания - Доктрина для портала "Срез".
Hrethgir 25.07.2026
Может найдётся кто захочет оценить доктрину. . . Написания правил участия для меня роскошь, требующая лимита времени, поэтому все сообщения не прошедшие модерацию будут видны только участникам портала,. . .
сукцессия 44. Решил подать на припринт в межународные сервисы препринтов. Но нужно одобрение от ученых
anaschu 25.07.2026
Английский вариант. Пока кто то не одобрит мою личность, мне не получиться это опубликовать на препринте. Но заявку на публикацию статьи я сегодня подам.
сукцессия 43. Вторая научная статья за месяц- прайминг и гатгил
anaschu 25.07.2026
две стороны одной монеты
Более приземисто - Эстафету хвоста в .cdl (деревья эстафеты в сад).
Hrethgir 24.07.2026
В будущем, после написания блока инверсии обхода дерева (эстафеты хвоста), я планирую вернуться к нашему прошлому разговору о том, обладают ли знания целеполаганием. Тогда я пришел к выводу, что. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru