gui_ui
Визуальный конструктор Tkinter-интерфейсов без единой внешней зависимости.
gui_ui — это редактор, в котором вы мышкой расставляете виджеты Tkinter
на холсте, настраиваете их свойства в инспекторе, пишете функции в
банке функций и одним нажатием получаете готовый .py-файл. Идеально для
быстрой разработки GUI на олимпиадах, хакатонах и учебных проектах.
✨ Возможности
- 🎨 Визуальный холст — перетаскивайте виджеты мышью, координаты синхронизированы с инспектором один-в-один.
- 🧩 Все базовые виджеты Tkinter — Button, Label, Entry, Text, Frame, LabelFrame, Treeview, Combobox, Checkbutton, Radiobutton, Listbox, Scale, Notebook.
- 🛠 Инспектор свойств — геометрия (x/y/w/h), стиль (bg, fg, font,
padx, pady...), события (
command,<Button-1>,<Double-Button-1>и др.). Можно добавлять произвольные свойства из выпадающего списка. - 📝 Вкладка «Код» — для каждого виджета показывается его кусок кода, который можно править и применять обратно.
- 📚 Банк функций — храните все обработчики событий в одном месте. Переименование функции автоматически обновляет все ссылки в проекте.
- 💡 Редактор кода с подсветкой — синтаксис Python, автодополнение
(
Ctrl+Spaceили по мере ввода), автоотступ после:, табы. - 🔄 Импорт
.py— парсер Tkinter-скриптов черезast, восстанавливает холст и функции. - 💾 Сохранение в
.json— промежуточный формат проекта. - 📤 Экспорт в
.py— готовый запускаемый скрипт с полем для импортов и подсчётом строк. - ▶ F5 — мгновенный тестовый запуск в отдельном окне.
- 🖥 Полный экран — F11/Esc, зум холста — Ctrl + колесо.
- 🪶 Ноль зависимостей — только стандартная библиотека Python.
🚀 Установка
pip install gui-ui
Проверка:
gui_ui
Важно: откроется консольное окно с надписью «Пожалуйста, не закрывайте это консольное окно...» — не закрывайте его, пока работаете с редактором.
Из исходников (для разработки)
git clone https://github.com/ваш_логин/gui_ui.git
cd gui_ui
pip install -e .
gui_ui
🎮 Как пользоваться
- Добавить виджет — нажмите кнопку на левой панели. Виджет появится на холсте и сразу выделится.
- Настроить — в правом инспекторе задайте текст, координаты, цвета, шрифт, события. Все изменения видны в реальном времени.
- Привязать событие — на вкладке «События» выберите функцию из списка (её нужно сначала создать в банке функций).
- Написать функцию — откройте вкладку «Банк функций», создайте новую функцию, напишите код (автодополнение поможет).
- Проверить — нажмите
F5. Откроется окно с работающим приложением. - Сохранить — «Файл → Экспорт в .py».
Горячие клавиши
| Клавиша | Действие |
|---|---|
F5 |
Запустить тестовый прогон |
F11 / Esc |
Полный экран / выход из него |
Ctrl + колесо |
Зум холста |
Ctrl+Space |
Автодополнение в редакторе кода |
Tab |
4 пробела |
Enter |
Автоотступ после : |
🧪 Пример: сгенерированный код
Редактор создаёт обычный Tkinter-код без магии:
from tkinter import *
from tkinter import ttk
def on_click():
print('clicked')
tk = Tk()
tk.geometry('800x600')
tk.title('MyApp')
button_1 = Button(tk, text='Нажми меня')
button_1.config(command=lambda: on_click())
button_1.place(x=100, y=50, width=150, height=40)
tk.mainloop()
Этот файл запускается обычным python file.py — на любом Python 3.9+,
без установки gui_ui.
🧩 Совместимость
- Python: 3.9, 3.10, 3.11, 3.12
- ОС: Windows, Linux, macOS
- Tkinter: входит в стандартную поставку Python
🤝 Вклад
PR и issue приветствуются. По вопросам сотрудничества — почта из
pyproject.toml.
📄 Лицензия
MIT. Полный текст — в файле LICENSE.
Metadata
Release files for gui-ui 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| gui_ui-0.1.0.tar.gz | 24.7 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| gui_ui-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 46.8 kB
Release files / gui_ui-0.1.0.tar.gz
| Download URL | gui_ui-0.1.0.tar.gz |
|---|---|
| Size | 24.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
eb31f0304cd8cb5ed1fc272d530f5c20cd0059b714bc1fa080105a30e115ff0d
|
|
BLAKE2b-256 checksum How to use checksums |
54d5201b2fa8abb0ba9e722fccb22dad284d1c26df37ebdba53bf94b9fcaefb6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / gui_ui-0.1.0-py3-none-any.whl
| Download URL | gui_ui-0.1.0-py3-none-any.whl |
|---|---|
| Size | 22.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ddfaa1f354db46bda0f8cdb27ff6496ca481746af4242bdeebd5fd59c834db58
|
|
BLAKE2b-256 checksum How to use checksums |
6bd68cd155607b20897aa95e4befaeff78c0e69d4e8cd7f4019e008fe9b46ddb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Security for gui-ui 0.1.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.