Загрузка данных


import tkinter as tk
import random

class RandomNumberApp:
    def __init__(self, root):
        """
        Конструктор класса. Здесь настраивается интерфейс и 
        создаются основные атрибуты объекта.
        """
        self.root = root
        self.root.title("Генератор")
        self.root.geometry("300x150")
        
        # Запрещаем изменение размеров окна для сохранения аккуратного вида
        self.root.resizable(False, False)

        # Создаем текстовую метку (Label)
        # Она хранится в атрибуте self.label, чтобы к ней был доступ из других методов
        self.label = tk.Label(
            root, 
            text="Нажмите кнопку", 
            font=("Arial", 12),
            pady=20
        )
        self.label.pack()

        # Создаем кнопку (Button)
        # Параметр command связывает нажатие с методом self.generate_number
        self.button = tk.Button(
            root, 
            text="Сгенерировать", 
            command=self.generate_number,
            width=15,
            height=2
        )
        self.button.pack()

    def generate_number(self):
        """
        Метод для генерации числа и обновления интерфейса.
        Реализует основную логику приложения.
        """
        number = random.randint(1, 100)
        self.label.config(text=f"Случайное число = {number}")


# Основной блок запуска программы
if __name__ == "__main__":
    # Создаем главное окно
    root = tk.Tk()
    
    # Создаем экземпляр нашего класса, передавая ему окно
    app = RandomNumberApp(root)
    
    # Запускаем бесконечный цикл обработки событий
    root.mainloop()