Найти тему
IT и не только

Python. 6 урок. tkinter.

Оглавление

Введение в Tkinter

Tkinter — это стандартная библиотека Python для создания графических пользовательских интерфейсов (GUI). Она позволяет создавать окна, кнопки, текстовые поля и другие виджеты для взаимодействия с пользователем.

Установка Tkinter

Tkinter обычно уже установлен вместе с Python, так что дополнительных действий не требуется. Чтобы убедиться в этом, попробуйте выполнить следующий код:

-2

Если версия Tkinter отображается без ошибок, значит библиотека установлена.

Основные виджеты и работа с Tkinter

Создание простого окна

Для начала создадим простое окно с заголовком:

-3

Добавление виджетов

Теперь добавим несколько виджетов, таких как метка (label), кнопка (button) и текстовое поле (entry).

-4

Объяснение кода

  1. Создание главного окна:

root = tk.Tk() - Эта строка создает главное окно приложения.

root.title("Пример с виджетами") - Устанавливает заголовок окна.

label = tk.Label(root, text="Введите ваше имя:") label.pack() - Создает метку с текстом и добавляет её в главное окно.

entry = tk.Entry(root) entry.pack() - Создает текстовое поле и добавляет его в главное окно.

button = tk.Button(root, text="Кликни меня", command=on_button_click) button.pack() - Создает кнопку с текстом и добавляет её в главное окно. При нажатии кнопки вызывается функция on_button_click.

def on_button_click(): label.config(text="Привет, " + entry.get()) - Эта функция изменяет текст метки на "Привет, " и текст, введенный в текстовое поле.

root.mainloop() - Запускает главный цикл, который позволяет приложению реагировать на события, такие как нажатия кнопок и ввод текста.

Если вам нужно размещать виджеты в определенных координатах, вместо метода .pack() можно использовать метод .place(), который позволяет точно указывать местоположение виджетов с помощью координат x и y. Также существует метод .grid(), который позволяет размещать виджеты в виде таблицы.

Метод .place()

Метод .place() позволяет точно задавать положение виджетов по координатам x и y.

Пример использования .place()

-5

Метод .grid()

Метод .grid() размещает виджеты в виде таблицы (сеточной структуры), указывая строку и столбец, где должен находиться виджет.

Пример использования .grid()

-6

Установка конкретного размера окна в Tkinter

Для установки конкретного размера окна в Tkinter, можно использовать метод .geometry(), который позволяет задать ширину и высоту окна в пикселях.

Пример установки конкретного размера окна

-7

Метод .geometry() устанавливает размер окна в пикселях. Формат строки "ширина x высота", где ширина и высота указываются в пикселях. В данном примере окно будет размером 400x300 пикселей.

Дополнительные виджеты и их использование

Список дополнительных виджетов:

  1. Listbox: Позволяет отображать список элементов.
  2. Checkbutton: Позволяет создавать флажки.
  3. Radiobutton: Создает радиокнопки.
  4. Scale: Позволяет создавать ползунки для выбора значения.
  5. Message: Отображает многострочный текст.
  6. Menu: Создает выпадающие меню.

Пример с Listbox и Checkbutton

-8

Объяснение кода

Listbox.

-9

Создает список с элементами.

Checkbutton:

-10

Создает флажок и связывает его с переменной var.

Message:

-11

Отображает многострочный текст.

Функция обработки нажатия кнопки:

-12

Извлекает выбранный элемент из Listbox и проверяет, установлен ли флажок.

Мы рассмотрели базовые функции tkinter для создания оконных приложений, однако мощь данной библиотеки, гораздо больше, к примеру, можно создать свой paint, блокнот, калькулятор и т.д. , все зависит от ваших знаний и фантазии. Если нужны примеры конкретных программ, можете написать их в комментариях, и я попробую создать их и объяснить.

Приложение для рисования на Tkinter:

Это приложение позволяет пользователю рисовать на экране, используя мышь. Оно состоит из главного окна с холстом, на котором можно рисовать линии и фигуры. Рассмотрим его структуру и функциональность шаг за шагом.

Полный код приложения

-13

Функция paint(event):

-14

Эта функция вызывается при движении мыши с зажатой левой кнопкой. Она рисует маленький овал (практически точку) на холсте в координатах, где находится курсор мыши

.event.x и event.y - это координаты курсора мыши в момент события.
x1, y1 и x2, y2 - это координаты верхнего левого и нижнего правого углов овала.
canvas.create_oval(x1, y1, x2, y2, fill="black") - метод для рисования овала на холсте.

Создание холста:

-15

Создаем холст для рисования и добавляем его в главное окно. Параметр bg="white" устанавливает белый цвет фона холста.

  • fill="both" и expand=True позволяют холсту занимать все доступное пространство в окне.

Привязка события к холсту:

Привязываем событие к холсту. Когда пользователь перемещает мышь с зажатой левой кнопкой (<B1-Motion>), вызывается функция paint.

Tkinter подходит для создания различных типов приложений. Статья демонстрирует базовые принципы работы с виджетами и событиями в Tkinter. Вы можете адаптировать и расширять эти примеры для создания более сложных и функциональных приложений.

Подписывайтесь, чтобы не пропустить следующие уроки :)