🐍 TkПітончик - Документація

Повний посібник зі створення графічних інтерфейсів українською

📖 Вступ до TkПітончика

TkПітончик - це інтерактивне середовище для вивчення програмування на Python з використанням бібліотеки Tkinter українською мовою. Проєкт дозволяє створювати графічні інтерфейси прямо у браузері без необхідності встановлювати Python.

💡 Особливості: 🇺🇦 Повністю українськомовний інтерфейс • 🚀 Виконання коду в браузері через WebAssembly • 📝 Підсвічування синтаксису українською • 💾 Автоматичне збереження коду • 🎨 Кілька тем оформлення • 🖼️ Візуальне створення GUI

🚀 Швидкий старт

Перша програма

from tkinter_ua import * # Створюємо головне вікно корінь = Tk() корінь.налаштувати(назва="Моя перша програма", ширина=400, висота=300) # Додаємо мітку з текстом мітка = Мітка(корінь, текст="Привіт, Tkinter!") мітка.пакувати(padx=20, pady=20) # Додаємо кнопку для закриття кнопка = Кнопка(корінь, текст="Закрити", команда=корінь.закрити) кнопка.пакувати(padx=20, pady=10) # Запускаємо головний цикл корінь.головний_цикл()

Структура програми Tkinter

Кожна програма Tkinter складається з трьох основних частин:

  1. Імпорт бібліотеки
  2. Створення та налаштування вікна
  3. Створення елементів інтерфейсу
  4. Запуск головного циклу

🖼️ Елементи інтерфейсу

Tk
Головне вікно програми
корінь = Tk() корінь.налаштувати(назва="Заголовок", ширина=800, висота=600)
Мітка
Відображення тексту
мітка = Мітка(корінь, текст="Текст мітки") мітка.пакувати()
Кнопка
Кнопка для взаємодії
кнопка = Кнопка(корінь, текст="Натисни мене", команда=функція) кнопка.пакувати()
ПолеВводу
Поле для введення тексту
поле = ПолеВводу(корінь) поле.пакувати()
Текст
Багаторядкове текстове поле
текст = Текст(корінь) текст.пакувати()
Полотно
Область для малювання
полотно = Полотно(корінь, width=400, height=300, bg="white") полотно.пакувати()
Рамка
Контейнер для елементів
рамка = Рамка(корінь) рамка.пакувати()
Меню
Меню програми
меню = Меню(корінь)
Toplevel
Додаткове вікно
нове_вікно = Toplevel() нове_вікно.налаштувати(назва="Додаткове вікно")

⚙️ Методи та властивості

Загальні методи для всіх елементів

пакувати()
Розміщення елемента
елемент.пакувати(padx=10, pady=10, side="left", fill="both")
Параметри: padx, pady - відступи; side - сторона розміщення ("left", "right", "top", "bottom"); fill - заповнення ("x", "y", "both")
сітка()
Розміщення у сітці
елемент.сітка(row=0, column=0, padx=5, pady=5)
налаштувати()
Зміна властивостей
елемент.налаштувати(текст="Новий текст")

Специфічні методи

Для ПолеВводу та Текст

текст = поле.отримати() # Отримати текст поле.вставити(0, "Текст") # Вставити текст поле.очистити() # Очистити поле

Для Полотно

# Малювання фігур полотно.створити_лінію(x1, y1, x2, y2, fill="black", width=2) полотно.створити_овал(x1, y1, x2, y2, fill="red") полотно.створити_прямокутник(x1, y1, x2, y2, fill="blue") # Робота з об'єктами полотно.перемістити(обєкт, dx, dy) полотно.видалити("all") # Видалити всі об'єкти полотно.coords(обєкт) # Отримати координати # Обробка подій полотно.привязати("", функція) полотно.привязати("", функція)

Для Меню

меню.додати_command(label="Пункт", command=функція) меню.додати_cascade(label="Підменю", menu=підменю) меню.додати_separator()

Події миші та клавіатури

def обробник_події(подія): print(f"Координати: {подія.x}, {подія.y}") # Прив'язка подій елемент.привязати("", обробник_події) # Клік лівою кнопкою елемент.привязати("", обробник_події) # Перетягування елемент.привязати("", обробник_події) # Подвійний клік

💾 Практичні приклади

🧮 Калькулятор

from tkinter_ua import * def обчислити(): try: результат = eval(поле.отримати()) поле.очистити() поле.вставити(0, str(результат)) except: поле.очистити() поле.вставити(0, "Помилка!") корінь = Tk() корінь.налаштувати(назва="Калькулятор", ширина=300, висота=400) поле = ПолеВводу(корінь) поле.пакувати(padx=10, pady=10, fill="both") кнопки_рамка = Рамка(корінь) кнопки_рамка.пакувати(padx=10, pady=10) кнопки = [ '7', '8', '9', '/', '4', '5', '6', '*', '1', '2', '3', '-', '0', '.', '=', '+' ] for i, текст in enumerate(кнопки): row = i // 4 col = i % 4 if текст == '=': кнопка = Кнопка(кнопки_рамка, текст=текст, команда=обчислити) else: def створ_команду(т=текст): поле.вставити("end", т) кнопка = Кнопка(кнопки_рамка, текст=текст, команда=створ_команду) кнопка.сітка(row=row, column=col, padx=2, pady=2) корінь.головний_цикл()

🎨 Програма для малювання

from tkinter_ua import * def почати_малювати(подія): global остання_x, остання_y остання_x, остання_y = подія.x, подія.y def малювати(подія): global остання_x, остання_y полотно.створити_лінію(остання_x, остання_y, подія.x, подія.y, fill=колір, width=товщина) остання_x, остання_y = подія.x, подія.y def змінити_колір(новий_колір): global колір колір = новий_колір def змінити_товщину(нова_товщина): global товщина товщина = нова_товщина корінь = Tk() корінь.налаштувати(назва="Малювалка", ширина=800, висота=600) # Змінні колір = "black" товщина = 2 остання_x, остання_y = None, None # Полотно для малювання полотно = Полотно(корінь, width=600, height=400, bg="white") полотно.пакувати(padx=10, pady=10, side="left") полотно.привязати("", почати_малювати) полотно.привязати("", малювати) # Панель інструментів панель = Рамка(корінь) панель.пакувати(padx=10, pady=10, side="right") Мітка(панель, text="Колір:").пакувати() for c in ["black", "red", "green", "blue", "yellow"]: Кнопка(панель, text=c, bg=c, command=lambda col=c: змінити_колір(col)).пакувати() Мітка(панель, text="Товщина:").пакувати() for t in [1, 2, 5, 10]: Кнопка(панель, text=str(t), command=lambda thick=t: змінити_товщину(thick)).пакувати() Кнопка(панель, text="Очистити", command=lambda: полотно.видалити("all")).пакувати() корінь.головний_цикл()

📝 Текстовий редактор з меню

from tkinter_ua import * def новий_файл(): текст.видалити("1.0", "end") def зберегти_файл(): вміст = текст.отримати("1.0", "end") print("Зберігаємо файл...") print(вміст) корінь = Tk() корінь.налаштувати(назва="Текстовий редактор", ширина=600, висота=400) # Створюємо меню меню = Меню(корінь) # Меню "Файл" файл_меню = Меню(меню, tearoff=0) меню.додати_cascade(label="Файл", menu=файл_меню) файл_меню.додати_command(label="Новий", command=новий_файл) файл_меню.додати_command(label="Зберегти", command=зберегти_файл) файл_меню.додати_separator() файл_меню.додати_command(label="Вихід", command=корінь.закрити) # Текстове поле текст = Текст(корінь) текст.пакувати(padx=10, pady=10, fill="both", expand=True) корінь.головний_цикл()

⚽ Анімація з м'ячем

from tkinter_ua import * def запустити_гру(): корінь = Tk() корінь.налаштувати(назва="Гра з м'ячем", ширина=400, висота=350) полотно = Полотно(корінь, width=400, height=300, bg="lightblue") полотно.пакувати(padx=10, pady=10) # Створюємо м'яч м_яч = полотно.створити_овал(190, 140, 210, 160, fill="red") # Оголошення змінних швидкість_x = 3 швидкість_y = 3 def рухати_м_яч(): nonlocal швидкість_x, швидкість_y полотно.перемістити(м_яч, швидкість_x, швидкість_y) позиція = полотно.coords(м_яч) # Відбивання від стін if позиція[0] <= 0 or позиція[2] >= 400: швидкість_x = -швидкість_x if позиція[1] <= 0 or позиція[3] >= 300: швидкість_y = -швидкість_y # Використовуємо через для наступного кадру корінь.через(30, рухати_м_яч) # Запускаємо гру рухати_м_яч() корінь.головний_цикл() запустити_гру()

💡 Поради та підказки

Гарячі клавіші в редакторі

F5 або Ctrl+Enter
Запустити код
Ctrl+/
Закоментувати/розкоментувати код
Ctrl+Space
Показати підказки
Tab
Відступ

Корисні поради

  • Завжди викликайте головний_цикл() - без цього вікно не з'явиться
  • Використовуйте через() для анімацій - це дозволяє створювати плавний рух
  • Робіть відступи у коді - це покращує читабельність
  • Тестуйте часто - запускайте код під час написання
  • Використовуйте коментарі - документуйте свій код

Розв'язання проблем

Проблема: Код не запускається
Перевірте, чи немає синтаксичних помилок; Переконайтеся, що всі дужки закриті; Перевірте відступи
Проблема: Вікно не з'являється
Переконайтеся, що викликано головний_цикл(); Перевірте, чи правильно створено вікно Tk()
Проблема: Елементи не відображаються
Переконайтеся, що викликано метод розміщення (пакувати() або сітка()); Перевірте правильність параметрів

Додаткові можливості

  • Теми оформлення - змінюйте вигляд програми (світла, темна, синя, зелена)
  • Автозбереження - код автоматично зберігається при змінах
  • Приклади - використовуйте готові приклади для навчання
  • Експорт/імпорт - зберігайте свої проекти у файли

🎉 Вітаємо!

Тепер ви знаєте основи роботи з TkПітончиком. Експериментуйте, створюйте власні проекти та насолоджуйтесь програмуванням українською мовою!

🎓 Вітаємо в TkПітончику!

Інтерактивне середовище для створення графічних інтерфейсів українською мовою

🇺🇦

Українська мова

Всі команди та помилки українською

🚀

В браузері

Не потрібно встановлювати Python

🎨

Графічні інтерфейси

Створюйте вікна, кнопки, меню

✨ Що таке TkПітончик?

TkПітончик - це середовище для вивчення програмування на Python з використанням бібліотеки Tkinter українською мовою.

# Звичайний Tkinter (англійською) from tkinter import * root = Tk() root.title("My App") label = Label(root, text="Hello World") label.pack() root.mainloop()
# TkПітончик (українською) from tkinter_ua import * корінь = Tk() корінь.налаштувати(назва="Моя програма") мітка = Мітка(корінь, текст="Привіт, світ!") мітка.пакувати() корінь.головний_цикл()

🛠️ Можливості

📝

Редактор коду

Підсвітка синтаксису, автодоповнення, нумерація рядків

🖼️

Візуальні елементи

Кнопки, поля вводу, мітки, полотна для малювання

💾

Збереження проектів

Експорт та імпорт кодів у різних форматах

🎯

Готові приклади

Бібліотека прикладів для швидкого старту

💡 Цікаво знати: TkПітончик працює на технології WebAssembly, тому не вимагає встановлення Python на комп'ютері!

👨‍🏫 Для кого призначений TkПітончик?

👦

Для школярів

Перші кроки в створенні графічних додатків

👩‍🎓

Для студентів

Вивчення основ побудови GUI

👨‍🏫

Для вчителів

Інструмент для навчання програмуванню в школах

🧑‍💻

Для початківців

М'яке введення в світ графічного програмування

🚀 Починаємо програмувати!

Ось простий приклад, щоб відчути силу TkПітончика:

# Простий додаток з кнопкою from tkinter_ua import * def при_натисканні(): мітка.налаштувати(текст="Кнопку натиснуто!") корінь = Tk() корінь.налаштувати(назва="Мій додаток", ширина=300, висота=200) мітка = Мітка(корінь, текст="Натисніть кнопку") мітка.пакувати(pady=20) кнопка = Кнопка(корінь, текст="Натисни мене", команда=при_натисканні) кнопка.пакувати() корінь.головний_цикл()

Готові до більшого?

Відкрийте середовище та спробуйте створити щось своє!