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

от автора

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

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

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

Что вы хотите изучить в следующей части?

60% Графика, создание объектов и текстур33
25.45% Ввод с клавиатуры и использование мыши.14
5.45% Работа с аудио файлами.3
9.09% Что-то другое (в комментариях)5

Проголосовали 55 пользователей. Воздержались 7 пользователей.

ссылка на оригинал статьи https://habr.com/ru/articles/855504/