Введение

Tkinter — это привязка Python к графическому инструментарию Tk. Это стандартный интерфейс Python для Tk и является фактическим стандартом графического интерфейса пользователя (GUI) в Python. Tkinter поставляется вместе со стандартными дистрибутивами Python для Linux, Microsoft Windows и macOS. Название Tkinter образовано от слов "Tk interface". Tkinter был разработан Стином Лумхолтом и Гвидо ван Россумом, а затем доработан Фредриком Лундом. Tkinter является свободным программным обеспечением, распространяемым под лицензией Python.

Описание

Как и большинство других современных привязок Tk, Tkinter реализован как оболочка Python вокруг полноценного интерпретатора Tcl, встроенного в интерпретатор Python. Вызовы Tkinter преобразуются в команды Tcl, которые передаются этому встроенному интерпретатору, что позволяет комбинировать Python и Tcl в одном приложении. Существует несколько популярных альтернативных библиотек для создания графического интерфейса, таких как Kivy, Pygame, Pyglet, PyGObject, PyQt, PySide и wxPython.

Окно

Этот термин имеет различные значения в зависимости от контекста, но в общем случае он обозначает прямоугольную область на экране пользователя.

Окно верхнего этажа

Окно, которое является дочерним по отношению к основному окну. Оно будет оформлено стандартной рамкой и элементами управления, предоставляемыми менеджером рабочего стола. Его можно перемещать по рабочему столу и, как правило, изменять в размере.

Виджет

Общий термин для любого из строительных блоков, составляющих приложение с графическим пользовательским интерфейсом. Основные виджеты: контейнеры: frame (рамка), labelframe, toplevel (верхний уровень), paned window (окно с панелями). Кнопки: button (кнопка), radiobutton (переключатель), checkbutton (флажок), menubutton (кнопка меню). Текстовые виджеты: label (метка), message (сообщение), text (текст). Виджеты ввода: scale (шкала), scrollbar (полоса прокрутки), listbox (список), slider (слайдер), spinbox (спинбокс), entry (однострочное поле ввода), optionmenu (выпадающее меню), text (многострочное поле ввода) и canvas (холст для векторной и пиксельной графики). Tkinter предоставляет три модуля для отображения всплывающих диалоговых окон: tk.messagebox (диалоги подтверждения, информации, предупреждения и ошибок), tk.filedialog (диалоги выбора одного файла, нескольких файлов и каталога) и tk.colorchooser (выбор цвета). Python 2.7 и Python 3.1 включают функциональность "themed Tk" ("ttk") из Tk 8.5. Это позволяет легко применять темы к виджетам Tk, чтобы они выглядели как родная среда рабочего стола, в которой запущено приложение, тем самым решая давнюю проблему Tk (и, следовательно, Tkinter). Некоторые виджеты доступны только в ttk, такие как combobox (комбобокс), progressbar (индикатор прогресса), treeview (вид дерева), notebook (блокнот), separator (разделитель) и sizegrip (элемент изменения размера).

Рама

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

Ребенок и родитель

Когда создается любой виджет, устанавливается отношение родитель-потомок. Например, если вы разместите текстовую метку внутри рамки, рамка будет родителем метки.