Модуль Tkinter или «TK Interface» предоставляет различные классы и функции для создания кроссплатформенных графических приложений на Python с использованием инфраструктуры «Tk UI». Tkinter включен в модули по умолчанию, поставляемые со сборками Python, хотя он поддерживается ActiveState. Это один из самых популярных наборов инструментов с графическим интерфейсом, доступных для Python, который полезен как для создания быстрых прототипов, так и для разработки полноценных приложений. Эта статья содержит руководство по установке Tkinter в Linux, некоторые примеры кода и их объяснение для создания простого приложения «Hello World».
Вы можете установить Tkinter для Python 3 в Ubuntu, выполнив команду, указанную ниже:
$ sudo apt install python3-tk
Tkinter можно установить в других дистрибутивах Linux из диспетчера пакетов.
Чтобы убедиться, что Tkinter успешно установлен в вашей системе, выполните команду, указанную ниже:
$ python3 -m tkinter
Если Tkinter был установлен правильно, вы должны увидеть такое окно графического интерфейса.
Вы также можете использовать интерпретатор Python для проверки установки Tkinter. Для этого выполните последовательно следующие команды (последние две команды будут выполняться в интерпретаторе Python):
$ python3
import tkinter print (tkinter.TclVersion)
Вы можете создать простое приложение с надписью «Hello World !!» строка, используя пример кода, указанный ниже:
from tkinter import * root = Tk() root.title("Hello World") main_string = Label(root, text="Hello World !!") main_string.pack() root.mainloop()
Первый оператор в приведенном выше примере кода импортирует необходимые функции из модуля Tkinter. Вместо импорта определенных функций все импортируется сразу с использованием символа «*» (звездочка). Затем определяется главное приложение или корневое окно и устанавливается заголовок «Hello World». Новый виджет с надписью «Hello World !!» строка создается в следующем операторе. Метод «pack» используется для автоматического изменения размера и соответствия области окна положению и площади виджета без отключения видимости виджета, поскольку геометрия не указана. Наконец, запускается основной цикл событий, который прослушивает пользовательские события, такие как действия ввода с клавиатуры и мыши. После успешного выполнения основного цикла вы должны увидеть следующее окно приложения:
Обратите внимание, что заголовок приложения не полностью отображается в строке заголовка. Метод «pack» без аргументов автоматически подгоняет главное окно приложения под область видимых виджетов. Поскольку окно приложения слишком маленькое, вы можете вручную указать его размер, используя метод «геометрии», чтобы предотвратить автоматическое подгонку.
from tkinter import * root = Tk() root.title("Hello World") root.geometry("640x480") main_string = Label(root, text="Hello World !!") main_string.pack() root.mainloop()
Вы также можете добавить аргумент padding к методу pack, используемому для виджета метки, чтобы увеличить область главного окна приложения путем растяжения виджета.
from tkinter import * root = Tk() root.title("Hello World") main_string = Label(root, text="Hello World !!") main_string.pack(padx=50, pady=50) root.mainloop()
Два аргумента, padx и pady, определяют интервалы по горизонтали и вертикали соответственно с обеих сторон виджета.
Метод Pack — один из наиболее важных методов, которые вы будете использовать при создании пользовательских интерфейсов с использованием библиотеки Tkinter. Виджеты не будут отображаться в главном фрейме приложения, если вы не вызовете метод pack для каждого виджета, который вы определили в коде. Вы можете использовать метод pack для определения динамической и фиксированной геометрии и положения виджетов. Виджеты могут быть упакованы друг в друга для создания вложенных виджетов. Вы можете узнать больше о методе pack и еще несколько примеров из его справочника по использованию.
Чтобы узнать больше о Tkinter API, вы можете использовать руководство, доступное в официальной документации Python. TkDocs предлагает отличное руководство, которое может помочь создать ваше первое приложение Tkinter, хотя руководство может быть немного сложным для абсолютных новичков. Вы можете найти официальные руководства Tkinter, которые включают определения и примеры API, на веб-сайте Tcl Developer Xchange. На странице Python Wiki Tkinter есть множество ссылок, которые могут помочь вам начать работу.
В этой статье рассматривается только простой пример для начала работы с приложениями Tkinter. Вы можете создавать расширенные графические интерфейсы с помощью Tkinter, но для приложений, требующих сложных элементов пользовательского интерфейса, многие разработчики предпочитают PyQt, а не Tkinter. PyQt также имеет больше встроенных виджетов, чем Tkinter, включая графический пакет для разработки приложений с использованием действий перетаскивания.