Tkinter: стандартный GUI для Python. Библиотека для создания графических интерфейсов на языке Python, включена в стандартную поставку Python для Linux, Windows, macOS.
Сравнивайте с английским: нажмите на абзац — оригинал откроется в окне. Кнопка EN под абзацем показывает его прямо в тексте.
Содержание
Введение
Tkinter — это привязка Python к графическому инструментарию Tk. Это стандартный интерфейс Python для Tk и является фактическим стандартом графического интерфейса пользователя (GUI) в Python. Tkinter поставляется вместе со стандартными дистрибутивами Python для Linux, Microsoft Windows и macOS. Название Tkinter образовано от слов "Tk interface". Tkinter был разработан Стином Лумхолтом и Гвидо ван Россумом, а затем доработан Фредриком Лундом. Tkinter является свободным программным обеспечением, распространяемым под лицензией Python.
Python binding to the Tk GUI toolkit
Tkinter is a Python binding to the Tk GUI toolkit. It is the standard Python interface to the Tk GUI toolkit, and is Python's de facto standard GUI. Tkinter is included with standard Linux, Microsoft Windows and macOS installs of Python. The name Tkinter comes from Tk interface. Tkinter was written by Steen Lumholt and Guido van Rossum, then later revised by Fredrik Lundh. Tkinter is free software released under a Python license.
Описание
Как и большинство других современных привязок Tk, Tkinter реализован как оболочка Python вокруг полноценного интерпретатора Tcl, встроенного в интерпретатор Python. Вызовы Tkinter преобразуются в команды Tcl, которые передаются этому встроенному интерпретатору, что позволяет комбинировать Python и Tcl в одном приложении. Существует несколько популярных альтернативных библиотек для создания графического интерфейса, таких как Kivy, Pygame, Pyglet, PyGObject, PyQt, PySide и wxPython.
As with most other modern Tk bindings, Tkinter is implemented as a Python wrapper around a complete Tcl interpreter embedded in the Python interpreter. Tkinter calls are translated into Tcl commands, which are fed to this embedded interpreter, thus making it possible to mix Python and Tcl in a single application. There are several popular GUI library alternatives available, such as Kivy, Pygame, Pyglet, PyGObject, PyQt, PySide, and wxPython.
Окно
Этот термин имеет различные значения в зависимости от контекста, но в общем случае он обозначает прямоугольную область на экране пользователя.
This term has different meanings in different contexts, but in general it refers to a rectangular area somewhere on the user's display screen.
Окно верхнего этажа
Окно, которое является дочерним по отношению к основному окну. Оно будет оформлено стандартной рамкой и элементами управления, предоставляемыми менеджером рабочего стола. Его можно перемещать по рабочему столу и, как правило, изменять в размере.
A window which acts as a child of the primary window. It will be decorated with the standard frame and controls for the desktop manager. It can be moved around the desktop and can usually be resized.
Виджет
Общий термин для любого из строительных блоков, составляющих приложение с графическим пользовательским интерфейсом. Основные виджеты: контейнеры: 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 (элемент изменения размера).
The generic term for any of the building blocks that make up an application in a graphical user interface. Core widgets: The containers: frame, labelframe, toplevel, paned window. The buttons: button, radiobutton, checkbutton (checkbox), and menubutton. The text widgets: label, message, text. The entry widgets: scale, scrollbar, listbox, slider, spinbox, entry (singleline), optionmenu, text (multiline), and canvas (vector and pixel graphics). Tkinter provides three modules that allow pop up dialogs to be displayed: tk. messagebox (confirmation, information, warning and error dialogs), tk. filedialog (single file, multiple file and directory selection dialogs) and tk. colorchooser (colour picker). Python 2.7 and Python 3.1 incorporate the "themed Tk" ("ttk") functionality of Tk 8.5. This allows Tk widgets to be easily themed to look like the native desktop environment in which the application is running, thereby addressing a long standing criticism of Tk (and hence of Tkinter). Some widgets are exclusive to ttk, such as the combobox, progressbar, treeview, notebook, separator and sizegrip.
Рама
В Tkinter виджет Frame является базовой единицей организации сложных компоновок. Фрейм — это прямоугольная область, которая может содержать другие виджеты.
In Tkinter, the Frame widget is the basic unit of organization for complex layouts. A frame is a rectangular area that can contain other widgets.
Ребенок и родитель
Когда создается любой виджет, устанавливается отношение родитель-потомок. Например, если вы разместите текстовую метку внутри рамки, рамка будет родителем метки.
When any widget is created, a parent–child relationship is created. For example, if you place a text label inside a frame, the frame is the parent of the label.