gui-ui 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
gui_ui-0.1.0/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Ваше Имя
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
gui_ui-0.1.0/PKG-INFO ADDED
@@ -0,0 +1,171 @@
1
+ Metadata-Version: 2.4
2
+ Name: gui-ui
3
+ Version: 0.1.0
4
+ Summary: A visual Tkinter interface builder without external dependencies.
5
+ Author-email: Nikola <a70655776@gmail.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/Nextrich/gui_ui
8
+ Project-URL: Source, https://github.com/Nextrich/gui_ui
9
+ Project-URL: Bug Reports, https://github.com/Nextrich/gui_ui/issues
10
+ Project-URL: Documentation, https://github.com/Nextrich/gui_ui#readme
11
+ Keywords: tkinter,gui,ui-builder,visual-editor,codegen,designer,no-dependencies,olympiad
12
+ Classifier: Development Status :: 3 - Alpha
13
+ Classifier: Environment :: Win32 (MS Windows)
14
+ Classifier: Environment :: X11 Applications
15
+ Classifier: Intended Audience :: Developers
16
+ Classifier: Intended Audience :: Education
17
+ Classifier: License :: OSI Approved :: MIT License
18
+ Classifier: Operating System :: OS Independent
19
+ Classifier: Programming Language :: Python :: 3
20
+ Classifier: Programming Language :: Python :: 3.9
21
+ Classifier: Programming Language :: Python :: 3.10
22
+ Classifier: Programming Language :: Python :: 3.11
23
+ Classifier: Programming Language :: Python :: 3.12
24
+ Classifier: Topic :: Software Development :: User Interfaces
25
+ Classifier: Topic :: Software Development :: Code Generators
26
+ Requires-Python: >=3.9
27
+ Description-Content-Type: text/markdown
28
+ License-File: LICENSE
29
+ Dynamic: license-file
30
+
31
+ # gui_ui
32
+
33
+ [![Python 3.9+](https://img.shields.io/badge/python-3.9%2B-blue.svg)](https://pypi.org/project/gui-ui/)
34
+ [![PyPI version](https://img.shields.io/pypi/v/gui-ui.svg)](https://pypi.org/project/gui-ui/)
35
+ [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](https://opensource.org/licenses/MIT)
36
+ [![No dependencies](https://img.shields.io/badge/dependencies-0-brightgreen.svg)]()
37
+
38
+ **Визуальный конструктор Tkinter-интерфейсов без единой внешней зависимости.**
39
+
40
+ `gui_ui` — это редактор, в котором вы мышкой расставляете виджеты Tkinter
41
+ на холсте, настраиваете их свойства в инспекторе, пишете функции в
42
+ банке функций и одним нажатием получаете готовый `.py`-файл. Идеально для
43
+ быстрой разработки GUI на олимпиадах, хакатонах и учебных проектах.
44
+
45
+ ---
46
+
47
+ ## ✨ Возможности
48
+
49
+ - 🎨 **Визуальный холст** — перетаскивайте виджеты мышью, координаты
50
+ синхронизированы с инспектором один-в-один.
51
+ - 🧩 **Все базовые виджеты Tkinter** — Button, Label, Entry, Text, Frame,
52
+ LabelFrame, Treeview, Combobox, Checkbutton, Radiobutton, Listbox,
53
+ Scale, Notebook.
54
+ - 🛠 **Инспектор свойств** — геометрия (x/y/w/h), стиль (bg, fg, font,
55
+ padx, pady...), события (`command`, `<Button-1>`, `<Double-Button-1>` и др.).
56
+ Можно добавлять произвольные свойства из выпадающего списка.
57
+ - 📝 **Вкладка «Код»** — для каждого виджета показывается его кусок кода,
58
+ который можно править и применять обратно.
59
+ - 📚 **Банк функций** — храните все обработчики событий в одном месте.
60
+ Переименование функции автоматически обновляет все ссылки в проекте.
61
+ - 💡 **Редактор кода с подсветкой** — синтаксис Python, автодополнение
62
+ (`Ctrl+Space` или по мере ввода), автоотступ после `:`, табы.
63
+ - 🔄 **Импорт `.py`** — парсер Tkinter-скриптов через `ast`, восстанавливает
64
+ холст и функции.
65
+ - 💾 **Сохранение в `.json`** — промежуточный формат проекта.
66
+ - 📤 **Экспорт в `.py`** — готовый запускаемый скрипт с полем для импортов
67
+ и подсчётом строк.
68
+ - ▶ **F5** — мгновенный тестовый запуск в отдельном окне.
69
+ - 🖥 **Полный экран** — F11/Esc, зум холста — Ctrl + колесо.
70
+ - 🪶 **Ноль зависимостей** — только стандартная библиотека Python.
71
+
72
+ ---
73
+
74
+ ## 🚀 Установка
75
+
76
+ ```bash
77
+ pip install gui-ui
78
+ ```
79
+
80
+ Проверка:
81
+
82
+ ```bash
83
+ gui_ui
84
+ ```
85
+
86
+ > **Важно:** откроется консольное окно с надписью
87
+ > «Пожалуйста, не закрывайте это консольное окно...» — не закрывайте его,
88
+ > пока работаете с редактором.
89
+
90
+ ### Из исходников (для разработки)
91
+
92
+ ```bash
93
+ git clone https://github.com/ваш_логин/gui_ui.git
94
+ cd gui_ui
95
+ pip install -e .
96
+ gui_ui
97
+ ```
98
+
99
+ ---
100
+
101
+ ## 🎮 Как пользоваться
102
+
103
+ 1. **Добавить виджет** — нажмите кнопку на левой панели. Виджет появится
104
+ на холсте и сразу выделится.
105
+ 2. **Настроить** — в правом инспекторе задайте текст, координаты, цвета,
106
+ шрифт, события. Все изменения видны в реальном времени.
107
+ 3. **Привязать событие** — на вкладке «События» выберите функцию из списка
108
+ (её нужно сначала создать в банке функций).
109
+ 4. **Написать функцию** — откройте вкладку «Банк функций», создайте новую
110
+ функцию, напишите код (автодополнение поможет).
111
+ 5. **Проверить** — нажмите `F5`. Откроется окно с работающим приложением.
112
+ 6. **Сохранить** — «Файл → Экспорт в .py».
113
+
114
+ ### Горячие клавиши
115
+
116
+ | Клавиша | Действие |
117
+ |---|---|
118
+ | `F5` | Запустить тестовый прогон |
119
+ | `F11` / `Esc` | Полный экран / выход из него |
120
+ | `Ctrl` + колесо | Зум холста |
121
+ | `Ctrl+Space` | Автодополнение в редакторе кода |
122
+ | `Tab` | 4 пробела |
123
+ | `Enter` | Автоотступ после `:` |
124
+
125
+ ---
126
+
127
+ ## 🧪 Пример: сгенерированный код
128
+
129
+ Редактор создаёт обычный Tkinter-код без магии:
130
+
131
+ ```python
132
+ from tkinter import *
133
+ from tkinter import ttk
134
+
135
+ def on_click():
136
+ print('clicked')
137
+
138
+ tk = Tk()
139
+ tk.geometry('800x600')
140
+ tk.title('MyApp')
141
+
142
+ button_1 = Button(tk, text='Нажми меня')
143
+ button_1.config(command=lambda: on_click())
144
+ button_1.place(x=100, y=50, width=150, height=40)
145
+
146
+ tk.mainloop()
147
+ ```
148
+
149
+ Этот файл запускается обычным `python file.py` — на любом Python 3.9+,
150
+ без установки `gui_ui`.
151
+
152
+ ---
153
+
154
+ ## 🧩 Совместимость
155
+
156
+ - **Python:** 3.9, 3.10, 3.11, 3.12
157
+ - **ОС:** Windows, Linux, macOS
158
+ - **Tkinter:** входит в стандартную поставку Python
159
+
160
+ ---
161
+
162
+ ## 🤝 Вклад
163
+
164
+ PR и issue приветствуются. По вопросам сотрудничества — почта из
165
+ `pyproject.toml`.
166
+
167
+ ---
168
+
169
+ ## 📄 Лицензия
170
+
171
+ MIT. Полный текст — в файле `LICENSE`.
gui_ui-0.1.0/README.md ADDED
@@ -0,0 +1,141 @@
1
+ # gui_ui
2
+
3
+ [![Python 3.9+](https://img.shields.io/badge/python-3.9%2B-blue.svg)](https://pypi.org/project/gui-ui/)
4
+ [![PyPI version](https://img.shields.io/pypi/v/gui-ui.svg)](https://pypi.org/project/gui-ui/)
5
+ [![License: MIT](https://img.shields.io/badge/license-MIT-green.svg)](https://opensource.org/licenses/MIT)
6
+ [![No dependencies](https://img.shields.io/badge/dependencies-0-brightgreen.svg)]()
7
+
8
+ **Визуальный конструктор Tkinter-интерфейсов без единой внешней зависимости.**
9
+
10
+ `gui_ui` — это редактор, в котором вы мышкой расставляете виджеты Tkinter
11
+ на холсте, настраиваете их свойства в инспекторе, пишете функции в
12
+ банке функций и одним нажатием получаете готовый `.py`-файл. Идеально для
13
+ быстрой разработки GUI на олимпиадах, хакатонах и учебных проектах.
14
+
15
+ ---
16
+
17
+ ## ✨ Возможности
18
+
19
+ - 🎨 **Визуальный холст** — перетаскивайте виджеты мышью, координаты
20
+ синхронизированы с инспектором один-в-один.
21
+ - 🧩 **Все базовые виджеты Tkinter** — Button, Label, Entry, Text, Frame,
22
+ LabelFrame, Treeview, Combobox, Checkbutton, Radiobutton, Listbox,
23
+ Scale, Notebook.
24
+ - 🛠 **Инспектор свойств** — геометрия (x/y/w/h), стиль (bg, fg, font,
25
+ padx, pady...), события (`command`, `<Button-1>`, `<Double-Button-1>` и др.).
26
+ Можно добавлять произвольные свойства из выпадающего списка.
27
+ - 📝 **Вкладка «Код»** — для каждого виджета показывается его кусок кода,
28
+ который можно править и применять обратно.
29
+ - 📚 **Банк функций** — храните все обработчики событий в одном месте.
30
+ Переименование функции автоматически обновляет все ссылки в проекте.
31
+ - 💡 **Редактор кода с подсветкой** — синтаксис Python, автодополнение
32
+ (`Ctrl+Space` или по мере ввода), автоотступ после `:`, табы.
33
+ - 🔄 **Импорт `.py`** — парсер Tkinter-скриптов через `ast`, восстанавливает
34
+ холст и функции.
35
+ - 💾 **Сохранение в `.json`** — промежуточный формат проекта.
36
+ - 📤 **Экспорт в `.py`** — готовый запускаемый скрипт с полем для импортов
37
+ и подсчётом строк.
38
+ - ▶ **F5** — мгновенный тестовый запуск в отдельном окне.
39
+ - 🖥 **Полный экран** — F11/Esc, зум холста — Ctrl + колесо.
40
+ - 🪶 **Ноль зависимостей** — только стандартная библиотека Python.
41
+
42
+ ---
43
+
44
+ ## 🚀 Установка
45
+
46
+ ```bash
47
+ pip install gui-ui
48
+ ```
49
+
50
+ Проверка:
51
+
52
+ ```bash
53
+ gui_ui
54
+ ```
55
+
56
+ > **Важно:** откроется консольное окно с надписью
57
+ > «Пожалуйста, не закрывайте это консольное окно...» — не закрывайте его,
58
+ > пока работаете с редактором.
59
+
60
+ ### Из исходников (для разработки)
61
+
62
+ ```bash
63
+ git clone https://github.com/ваш_логин/gui_ui.git
64
+ cd gui_ui
65
+ pip install -e .
66
+ gui_ui
67
+ ```
68
+
69
+ ---
70
+
71
+ ## 🎮 Как пользоваться
72
+
73
+ 1. **Добавить виджет** — нажмите кнопку на левой панели. Виджет появится
74
+ на холсте и сразу выделится.
75
+ 2. **Настроить** — в правом инспекторе задайте текст, координаты, цвета,
76
+ шрифт, события. Все изменения видны в реальном времени.
77
+ 3. **Привязать событие** — на вкладке «События» выберите функцию из списка
78
+ (её нужно сначала создать в банке функций).
79
+ 4. **Написать функцию** — откройте вкладку «Банк функций», создайте новую
80
+ функцию, напишите код (автодополнение поможет).
81
+ 5. **Проверить** — нажмите `F5`. Откроется окно с работающим приложением.
82
+ 6. **Сохранить** — «Файл → Экспорт в .py».
83
+
84
+ ### Горячие клавиши
85
+
86
+ | Клавиша | Действие |
87
+ |---|---|
88
+ | `F5` | Запустить тестовый прогон |
89
+ | `F11` / `Esc` | Полный экран / выход из него |
90
+ | `Ctrl` + колесо | Зум холста |
91
+ | `Ctrl+Space` | Автодополнение в редакторе кода |
92
+ | `Tab` | 4 пробела |
93
+ | `Enter` | Автоотступ после `:` |
94
+
95
+ ---
96
+
97
+ ## 🧪 Пример: сгенерированный код
98
+
99
+ Редактор создаёт обычный Tkinter-код без магии:
100
+
101
+ ```python
102
+ from tkinter import *
103
+ from tkinter import ttk
104
+
105
+ def on_click():
106
+ print('clicked')
107
+
108
+ tk = Tk()
109
+ tk.geometry('800x600')
110
+ tk.title('MyApp')
111
+
112
+ button_1 = Button(tk, text='Нажми меня')
113
+ button_1.config(command=lambda: on_click())
114
+ button_1.place(x=100, y=50, width=150, height=40)
115
+
116
+ tk.mainloop()
117
+ ```
118
+
119
+ Этот файл запускается обычным `python file.py` — на любом Python 3.9+,
120
+ без установки `gui_ui`.
121
+
122
+ ---
123
+
124
+ ## 🧩 Совместимость
125
+
126
+ - **Python:** 3.9, 3.10, 3.11, 3.12
127
+ - **ОС:** Windows, Linux, macOS
128
+ - **Tkinter:** входит в стандартную поставку Python
129
+
130
+ ---
131
+
132
+ ## 🤝 Вклад
133
+
134
+ PR и issue приветствуются. По вопросам сотрудничества — почта из
135
+ `pyproject.toml`.
136
+
137
+ ---
138
+
139
+ ## 📄 Лицензия
140
+
141
+ MIT. Полный текст — в файле `LICENSE`.
@@ -0,0 +1 @@
1
+ __version__ = "0.1.0"