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

4c0eeb25e49d16baccf6b860415e7c11

Привет, Хабр! Сегодня мы научимся делать графический интерфейс на 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 и вдохновила на создание собственных приложений.

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

Habrahabr.ru прочитано 5527 раз