Pull to refresh

Учимся делать игры без pygame: Введение в графический интерфейс на Python

Level of difficultyEasy
Reading time2 min
Views11K

Привет, Хабр! Сегодня мы научимся делать графический интерфейс на python, используя Tkinter.

Эта статья очень короткая, так как мы только начинаем делать игры, в будущем вас ждут статьи под 15–20 минут чтения, но я буду стараться не допускать сложной технической части, и разделять статьи на части.

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

Установка и настройка

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

import tkinter as tk
print(tk.TkVersion)

Если вы видите версию Tkinter, значит, все настроено правильно.

Основные концепции Tkinter

Создание окна

Первый шаг в создании приложения с использованием Tkinter — это создание основного окна. Это делается с помощью класса Tk.

import tkinter as tk
root = tk.Tk()
root.title("Мое первое окно")
root.geometry("400x300")
root.mainloop()

Вы увидите пустое окно маленького размера.

Виджеты

Виджеты — это основные элементы интерфейса, такие как кнопки, метки, поля ввода и т.д. В Tkinter виджеты создаются и размещаются в окне с помощью различных методов.

Метки (Labels)

Метки используются для отображения текста или изображений.

label = tk.Label(root, text="Привет, мир!")
label.pack

Кнопки (Buttons)

Кнопки используются для выполнения действий при нажатии.

def on_button_click():
    print("Кнопка нажата!")

button = tk.Button(root, text="Нажми меня", command=on_button_click)
button.pack()

Поля ввода (Entries)

Поля ввода используются для ввода текста.

entry = tk.Entry(root)
entry.pack()

Размещение виджетов

В Tkinter существует несколько способов размещения виджетов в окне:

  • pack() — простой способ размещения виджетов в стопку.

  • grid() — более гибкий способ размещения виджетов в таблице.

  • place() — размещение виджетов в абсолютных координатах.

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

label1 = tk.Label(root, text="Имя:")
label1.grid(row=0, column=0)

entry1 = tk.Entry(root)
entry1.grid(row=0, column=1)

label2 = tk.Label(root, text="Фамилия:")
label2.grid(row=1, column=0)

entry2 = tk.Entry(root)
entry2.grid(row=1, column=1)

Пример приложения

Теперь давайте создадим простое приложение, которое будет запрашивать имя пользователя и отображать приветственное сообщение.

import tkinter as tk

def on_button_click():
    name = entry.get()
    label.config(text=f"Привет, {name}!")

root = tk.Tk()
root.title("Приветственное приложение")
root.geometry("300x200")

label = tk.Label(root, text="Введите ваше имя:")
label.pack()

entry = tk.Entry(root)
entry.pack()

button = tk.Button(root, text="Отправить", command=on_button_click)
button.pack()

root.mainloop()

Заключение

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

Спасибо за внимание! Если у вас есть вопросы или предложения, оставляйте их в комментариях.

Only registered users can participate in poll. Log in, please.
Что вы хотите изучить в следующей части?
62.07% Графика, создание объектов и текстур36
24.14% Ввод с клавиатуры и использование мыши.14
5.17% Работа с аудио файлами.3
8.62% Что-то другое (в комментариях)5
58 users voted. 7 users abstained.
Tags:
Hubs:
Total votes 20: ↑10 and ↓10+2
Comments20

Articles