<MyRusakov.ru />

Профессиональная Web-разработка. Дизайн, код и автоматизация

Профессиональная Web-разработка. Дизайн, код и автоматизация

Это очень подробный курс из разряда "всё включено". Разбираются следующие темы: HTML, CSS, SCSS, JavaScript, PHP, SQL, Laravel, Nginx, PostCSS, npm, Vite, Vitest, Composer, PHPUnit, Prettier, Stylelint, ESLint, Pint, Larastan, Git, Agile, Scrum, Docker, Supervisord, Figma, Stitch AI, Confluence, Jira.

Рассчитан и на новичков, и на тех, кто уже знаком с основами, но хочет освоить полный цикл разработки.

Помимо самой теории, Вы увидите пример создания Web-проекта на 20 000 строк кода: от идеи и документации на Confluence через планирование на Jira, fullstack-разработку до деплоя на VPS.

Помимо уроков, курс содержит упражнения для закрепления знаний и финальное тестирование. А ещё Вы получите 5 полноценных Бонусных курсов: «GitLab под ключ», «Вёрстка сайта с нуля 2.0», «JavaScript с Нуля до Гуру 2.0», «PHP и MySQL с Нуля до Гуру 3.0» и «Laravel от А до Я».

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Tkinter: навигация на основе функций

Tkinter: навигация на основе функций

Приветствую! В предыдущей статье мы создали навигацию на основе классов. В сегодняшней статье мы рассмотрим, как организовать простую навигацию между окнами в Tkinter с использованием функций. Этот подход отлично подходит для небольших приложений, где не требуется сложная структура классов.

Зачем использовать навигацию на основе функций?

Навигация на основе функций проще и интуитивно понятна. Она особенно удобна для начинающих разработчиков или небольших приложений, где нужно переключаться между несколькими окнами.

Полный код

import tkinter as tk

def open_settings():
    """Открыть окно настроек"""
    main_window.withdraw()  # Скрываем главное окно
    settings_window.deiconify()  # Показываем окно настроек

def back_to_main():
    """Вернуться в главное меню"""
    settings_window.withdraw()  # Скрываем окно настроек
    main_window.deiconify()  # Показываем главное окно

# Главное окно
main_window = tk.Tk()
main_window.title("Главное меню")
main_window.geometry("300x200")

main_label = tk.Label(main_window, text="Главное меню")
main_label.pack(pady=20)

settings_button = tk.Button(main_window, text="Настройки", command=open_settings)
settings_button.pack()

# Окно настроек
settings_window = tk.Toplevel(main_window)
settings_window.title("Настройки")
settings_window.geometry("300x200")
settings_window.withdraw()  # Скрываем окно настроек при старте

settings_label = tk.Label(settings_window, text="Окно настроек")
settings_label.pack(pady=20)

back_button = tk.Button(settings_window, text="Назад", command=back_to_main)
back_button.pack()

main_window.mainloop()

Почему используют навигацию через функции?

  • Простота реализации: Подход понятен даже для новичков.
  • Ясность кода: Вся логика сосредоточена в нескольких функциях.
  • Удобство тестирования: Каждая функция отвечает только за одно действие, что упрощает отладку.

Возможности для улучшения

  1. Добавление новых окон: Например, экран справки или профиля. Просто создайте ещё одно окно через tk.Toplevel и добавьте соответствующую функцию навигации.
  2. Анимации при переходах: Можно добавлять эффекты, такие как плавное исчезновение или появление.
  3. Работа с данными: Передавайте данные между окнами через глобальные переменные или методы.

Вывод

Таким образом, навигация через функции — это простой и эффективный способ переключения между окнами в Tkinter. Этот подход подходит для небольших приложений и легко адаптируется под более сложные задачи.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (https://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: https://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: https://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (0):

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.