INS-tk-eco — это простая и удобная обёртка для стандартной библиотеки tkinter в Python. Она создана для того, чтобы сделать разработку графических интерфейсов (GUI) быстрой, интуитивной и понятной даже для начинающих программистов.
Вдохновением для создания библиотеки послужила простота использования языка Pascal, где создание окон и элементов интерфейса занимает всего пару строк кода. INS-tk-eco переносит эту простоту в мир Python!
Основные возможности:
Библиотека идеально подходит для создания небольших утилит, обучающих программ, прототипов и любых приложений, где нужен простой и понятный интерфейс.
Совместимость: Python 3.6+ и выше. Работает на Windows, macOS и Linux.
На данный момент у нас нет pip install, но вы можете легко установить библиотеку вручную. Просто создайте файл inseco.py в папке вашего проекта и скопируйте туда код ниже.
💡 Совет: Сохраните этот файл рядом с вашим основным скриптом, чтобы импортировать его.
# ===== inseco.py — INS-tk-eco библиотека ===== import tkinter as tk root = None geo_entry = 50 def setme(set_title='None', set_geo=1): global root root = tk.Tk() root.title(set_title) # Размеры if set_geo == 1: root.geometry('500x500') elif set_geo == 2: root.geometry('700x700') elif set_geo == 3: root.geometry('1000x1000') elif set_geo == 4: root.geometry('1500x1500') def clabel(text='None', fnt_name='Arial', fnt_num=16): global root if root is None: print("Ошибка: сначала вызови setme()") return label = tk.Label(root, text=text, font=(fnt_name, fnt_num)) label.pack() def command_btn(): print('Кнопка нажата!') def cbtn(text='Open', command=None): global root if root is None: print("Ошибка: сначала вызови setme()") return if command is None: command = command_btn btn = tk.Button(root, text=text, command=command) btn.pack() def c_entry(geo=50): global root if root is None: print("Ошибка: сначала вызови setme()") return entry = tk.Entry(root, width=geo) entry.pack() return entry class cl_entry: def __init__(self, geo=50): global root, geo_entry geo_entry = geo self.entry = None self.root = root def show(self, m='*'): global root, geo_entry if root is None: print("Ошибка: сначала вызови setme()") return self.entry = tk.Entry(root, show=m, width=geo_entry) self.entry.pack() return self.entry def start(self, m='normal'): global root, geo_entry if root is None: print("Ошибка: сначала вызови setme()") return self.entry = tk.Entry(root, state=m, width=geo_entry) self.entry.pack() return self.entry def fg(self, fg='black'): global root, geo_entry if root is None: print("Ошибка: сначала вызови setme()") return self.entry = tk.Entry(root, fg=fg, width=geo_entry) self.entry.pack() return self.entry def bg(self, bg='white'): global root, geo_entry if root is None: print("Ошибка: сначала вызови setme()") return self.entry = tk.Entry(root, bg=bg, width=geo_entry) self.entry.pack() return self.entry def get(self): if self.entry: return self.entry.get() return None def set_text(self, text): if self.entry: self.entry.delete(0, tk.END) self.entry.insert(0, text) def i_entry(): print('INS-ECO-TK Entry') print('Простой Entry: c_entry(ширина)') print('Продвинутый Entry:') print(' entry = cl_entry(ширина)') print(' entry.show("*") - для пароля') print(' entry.start("disabled") - блокировка') print(' entry.fg("red") - цвет текста') print(' entry.bg("yellow") - цвет фона') def ibtn(): print('INS-ECO-TK Кнопка') print('Начальные параметры:') print(' text="Open" command=command_btn') print('Использование: cbtn("Моя кнопка", my_function)') def ilabel(): print('INS-ECO-TK Текст') print('Начальные параметры:') print(' font=Arial, 16 text=None') print('Использование: clabel("Мой текст")') print(' clabel("Текст", "Comic Sans MS", 20) - со шрифтом') def run(): """Запускает главный цикл программы""" global root if root is not None: root.mainloop() else: print("Ошибка: сначала создай окно через setme()")
Чтобы начать работать с библиотекой, создайте второй файл main.py в той же папке и вставьте код ниже. Комментарии (#...) объясняют каждую функцию.
💡 Запустите программу и вы увидите окно с надписями, кнопками и полями ввода!
# ===== main.py — пример использования INS-tk-eco ===== import inseco as eco # Создаём окно с именем "Windows" и размером 1 (500x500) # Все типы: 2 = 700x700, 3 = 1000x1000, 4 = 1500x1500 eco.setme('Windows', 1) # Создаём базовый текст "Hello" eco.clabel('Hello') # Создаём текст со шрифтом "Comic Sans MS" размером 20 eco.clabel('Plus your password', 'Comic Sans MS', 20) # Создаём свою функцию для кнопки def my_command(): print('Моя собственная команда!') # Стандартная кнопка eco.cbtn('Нажми меня') # Кнопка со своей функцией eco.cbtn('Моя кнопка', my_command) # Создаём обычное поле ввода с размером 50 eco.c_entry(50) # Создаём класс для PRO ввода с размером 30 ent = eco.cl_entry(30) # Создаём поле для пароля (символы скрыты звёздочками) ent.show('*') # Также мы можем использовать: # ent.fg("red") — цвет текста # ent.bg("yellow") — цвет фона # Информация о функциях: eco.i_entry() # информация о вводе eco.ibtn() # информация о кнопках eco.ilabel() # информация о табличках # ОБЯЗАТЕЛЬНО: запускаем главный цикл приложения eco.run()
📌 Важно: Не забудьте вызвать eco.run() в конце — без этого окно не откроется!
INS-tk-eco постоянно развивается. В ближайших планах:
Если вы хотите предложить идею или сообщить об ошибке — пишите нам через форму обратной связи на сайте.
Узнать больше о Entry() →