from tkinter import *
# --- Функции для кнопок ---
def insert_text():
"""Вставляет слово 'Ура!' в начало текста (позиция 1.0)"""
text_field.insert(1.0, "Ура! ")
def get_text():
"""Берет весь текст из поля и вставляет его в метку снизу"""
# get(1.0, END) берет текст с самого начала до самого конца
content = text_field.get(1.0, END)
label_result.config(text=content)
def clear_text():
"""Полностью очищает текстовое поле"""
text_field.delete(1.0, END)
# --- Создание окна ---
window = Tk()
window.title("Ура или не Ура") # Название окна
# 1. Создаем текстовое поле с прокруткой
# Размещаем его сверху (side=TOP) и разрешаем растягиваться
text_field = Text(window, width=35, height=8, wrap=WORD)
text_field.pack(side=TOP, fill=BOTH, expand=True, padx=5, pady=5)
# padx и pady добавляют небольшие отступы от краев окна для красоты
# Создаем скроллбар
scroll = Scrollbar(window, command=text_field.yview)
scroll.pack(side=RIGHT, fill=Y) # Прижимаем вправо и растягиваем по вертикали
# Связываем скроллбар с полем
text_field.config(yscrollcommand=scroll.set)
# 2. Создаем фрейм (рамку) для кнопок, чтобы они стояли в ряд
frame_buttons = Frame(window)
frame_buttons.pack(side=TOP, fill=X, pady=5) # Размещаем под текстом
# 3. Создаем и размещаем кнопки внутри фрейма
# side=LEFT заставляет их выстраиваться слева направо
btn_insert = Button(frame_buttons, text="Вставить", command=insert_text)
btn_insert.pack(side=LEFT, expand=True, fill=X)
btn_click = Button(frame_buttons, text="Нажим", command=get_text)
btn_click.pack(side=LEFT, expand=True, fill=X)
btn_delete = Button(frame_buttons, text="Удалить", command=clear_text)
btn_delete.pack(side=LEFT, expand=True, fill=X)
# 4. Создаем метку (Label) для вывода текста снизу
# wraplength задает ширину, после которой текст переносится на новую строку
label_result = Label(window, text="Здесь появится текст...", bg="white", height=4, wraplength=250)
label_result.pack(side=TOP, fill=X, padx=5, pady=5)
# Запуск главного цикла программы
window.mainloop()