> **Источник:** https://python-all.ru/3/library/tk.html
>
> «Документация Python на русском» – неофициальный перевод официальной документации Python: версии от 2.6 до 3.16, полнотекстовый поиск, английский оригинал рядом с переводом. Эта Markdown-версия страницы предназначена для работы с LLM: вставьте её в ChatGPT, Claude или Cursor.

---

# Графические пользовательские интерфейсы с Tk

Tk/Tcl уже давно является неотъемлемой частью Python. Он предоставляет надёжный и независимый от платформы набор инструментов для работы с окнами, который доступен программистам Python через пакет [`tkinter`](https://python-all.ru/3/library/tkinter.html#module-tkinter) и его расширение – модуль [`tkinter.ttk`](https://python-all.ru/3/library/tkinter.ttk.html#module-tkinter.ttk).

Пакет [`tkinter`](https://python-all.ru/3/library/tkinter.html#module-tkinter) представляет собой тонкий объектно-ориентированный слой поверх Tcl/Tk. Для использования `tkinter` не требуется писать код на Tcl, но потребуется обращаться к документации по Tk и иногда к документации по Tcl. `tkinter` – это набор обёрток, реализующих виджеты Tk в виде классов Python.

Главные достоинства [`tkinter`](https://python-all.ru/3/library/tkinter.html#module-tkinter) – это его быстродействие и то, что он обычно поставляется вместе с Python. Хотя стандартная документация к нему слабая, доступен хороший материал, включающий справочники, учебники, книгу и другое. `tkinter` также известен своим устаревшим внешним видом, который был значительно улучшен в Tk 8.5. Тем не менее, существует множество других библиотек GUI, которые могут вас заинтересовать. В вики Python перечислены несколько альтернативных [фреймворков и инструментов для создания графического интерфейса](https://python-all.ru/3/library/tk.html).

- [`tkinter` – интерфейс Python к Tcl/Tk](https://python-all.ru/3/library/tkinter.html)

  - [Архитектура](https://python-all.ru/3/library/tkinter.html#architecture)
  - [Модули Tkinter](https://python-all.ru/3/library/tkinter.html#tkinter-modules)
  - [Спасательный круг Tkinter](https://python-all.ru/3/library/tkinter.html#tkinter-life-preserver)

    - [Программа Hello World](https://python-all.ru/3/library/tkinter.html#a-hello-world-program)
    - [Важные концепции Tk](https://python-all.ru/3/library/tkinter.html#important-tk-concepts)
    - [Понимание того, как Tkinter оборачивает Tcl/Tk](https://python-all.ru/3/library/tkinter.html#understanding-how-tkinter-wraps-tcl-tk)
    - [Как мне…? Какой параметр…?](https://python-all.ru/3/library/tkinter.html#how-do-i-what-option-does)
    - [Навигация по справочному руководству Tcl/Tk](https://python-all.ru/3/library/tkinter.html#navigating-the-tcl-tk-reference-manual)
  - [Модель многопоточности](https://python-all.ru/3/library/tkinter.html#threading-model)
  - [Удобный справочник](https://python-all.ru/3/library/tkinter.html#handy-reference)

    - [Установка параметров](https://python-all.ru/3/library/tkinter.html#setting-options)
    - [Упаковщик](https://python-all.ru/3/library/tkinter.html#the-packer)
    - [Параметры packer](https://python-all.ru/3/library/tkinter.html#packer-options)
    - [Привязка переменных виджетов](https://python-all.ru/3/library/tkinter.html#coupling-widget-variables)
    - [Менеджер окон](https://python-all.ru/3/library/tkinter.html#the-window-manager)
    - [Типы данных параметров Tk](https://python-all.ru/3/library/tkinter.html#tk-option-data-types)
    - [Привязки и события](https://python-all.ru/3/library/tkinter.html#bindings-and-events)
    - [Параметр index](https://python-all.ru/3/library/tkinter.html#the-index-parameter)
    - [Изображения](https://python-all.ru/3/library/tkinter.html#images)
  - [Справочник](https://python-all.ru/3/library/tkinter.html#reference)

    - [Базовые и примесные классы](https://python-all.ru/3/library/tkinter.html#base-and-mixin-classes)
    - [Виджеты верхнего уровня](https://python-all.ru/3/library/tkinter.html#toplevel-widgets)
    - [Классы виджетов](https://python-all.ru/3/library/tkinter.html#widget-classes)
    - [Классы переменных](https://python-all.ru/3/library/tkinter.html#variable-classes)
    - [Классы изображений](https://python-all.ru/3/library/tkinter.html#image-classes)
    - [Прочие классы](https://python-all.ru/3/library/tkinter.html#other-classes)
    - [Функции уровня модуля](https://python-all.ru/3/library/tkinter.html#module-level-functions)
    - [Обработчики файлов](https://python-all.ru/3/library/tkinter.html#file-handlers)
    - [Константы](https://python-all.ru/3/library/tkinter.html#constants)
- [`tkinter.colorchooser` – Диалог выбора цвета](https://python-all.ru/3/library/tkinter.colorchooser.html)
- [`tkinter.font` – Обёртка шрифтов Tkinter](https://python-all.ru/3/library/tkinter.font.html)
- [Диалоги Tkinter](https://python-all.ru/3/library/dialog.html)

  - [`tkinter.simpledialog` – Стандартные диалоги ввода Tkinter](https://python-all.ru/3/library/dialog.html#module-tkinter.simpledialog)
  - [`tkinter.filedialog` – Диалоги выбора файлов](https://python-all.ru/3/library/dialog.html#module-tkinter.filedialog)

    - [Нативные диалоги загрузки/сохранения](https://python-all.ru/3/library/dialog.html#native-load-save-dialogs)
  - [`tkinter.commondialog` – Шаблоны диалоговых окон](https://python-all.ru/3/library/dialog.html#module-tkinter.commondialog)
  - [`tkinter.dialog` – Классические диалоговые окна Tk](https://python-all.ru/3/library/dialog.html#module-tkinter.dialog)
- [`tkinter.messagebox` – Приглашения сообщений Tkinter](https://python-all.ru/3/library/tkinter.messagebox.html)
- [`tkinter.scrolledtext` – Текстовый виджет с прокруткой](https://python-all.ru/3/library/tkinter.scrolledtext.html)
- [`tkinter.dnd` – Поддержка перетаскивания](https://python-all.ru/3/library/tkinter.dnd.html)
- [`tkinter.ttk` – Тематические виджеты Tk](https://python-all.ru/3/library/tkinter.ttk.html)

  - [Использование Ttk](https://python-all.ru/3/library/tkinter.ttk.html#using-ttk)
  - [Виджеты Ttk](https://python-all.ru/3/library/tkinter.ttk.html#ttk-widgets)
  - [Виджет](https://python-all.ru/3/library/tkinter.ttk.html#widget)

    - [Стандартные параметры](https://python-all.ru/3/library/tkinter.ttk.html#standard-options)
    - [Параметры прокручиваемых виджетов](https://python-all.ru/3/library/tkinter.ttk.html#scrollable-widget-options)
    - [Параметры метки](https://python-all.ru/3/library/tkinter.ttk.html#label-options)
    - [Параметры совместимости](https://python-all.ru/3/library/tkinter.ttk.html#compatibility-options)
    - [Состояния виджетов](https://python-all.ru/3/library/tkinter.ttk.html#widget-states)
    - [ttk.Widget](https://python-all.ru/3/library/tkinter.ttk.html#ttk-widget)
  - [Combobox](https://python-all.ru/3/library/tkinter.ttk.html#combobox)

    - [Параметры](https://python-all.ru/3/library/tkinter.ttk.html#options)
    - [Виртуальные события](https://python-all.ru/3/library/tkinter.ttk.html#virtual-events)
    - [ttk.Combobox](https://python-all.ru/3/library/tkinter.ttk.html#ttk-combobox)
  - [Spinbox](https://python-all.ru/3/library/tkinter.ttk.html#spinbox)

    - [Параметры](https://python-all.ru/3/library/tkinter.ttk.html#id1)
    - [Виртуальные события](https://python-all.ru/3/library/tkinter.ttk.html#id2)
    - [ttk.Spinbox](https://python-all.ru/3/library/tkinter.ttk.html#ttk-spinbox)
  - [Блокнот](https://python-all.ru/3/library/tkinter.ttk.html#notebook)

    - [Параметры](https://python-all.ru/3/library/tkinter.ttk.html#id3)
    - [Параметры вкладок](https://python-all.ru/3/library/tkinter.ttk.html#tab-options)
    - [Идентификаторы вкладок](https://python-all.ru/3/library/tkinter.ttk.html#tab-identifiers)
    - [Виртуальные события](https://python-all.ru/3/library/tkinter.ttk.html#id4)
    - [ttk.Notebook](https://python-all.ru/3/library/tkinter.ttk.html#ttk-notebook)
  - [Индикатор прогресса](https://python-all.ru/3/library/tkinter.ttk.html#progressbar)

    - [Параметры](https://python-all.ru/3/library/tkinter.ttk.html#id5)
    - [ttk.Progressbar](https://python-all.ru/3/library/tkinter.ttk.html#ttk-progressbar)
  - [Разделитель](https://python-all.ru/3/library/tkinter.ttk.html#separator)

    - [Параметры](https://python-all.ru/3/library/tkinter.ttk.html#id6)
  - [Маркер изменения размера](https://python-all.ru/3/library/tkinter.ttk.html#sizegrip)

    - [Примечания для платформ](https://python-all.ru/3/library/tkinter.ttk.html#platform-specific-notes)
    - [Ошибки](https://python-all.ru/3/library/tkinter.ttk.html#bugs)
  - [Древовидный список](https://python-all.ru/3/library/tkinter.ttk.html#treeview)

    - [Параметры](https://python-all.ru/3/library/tkinter.ttk.html#id7)
    - [Параметры элементов](https://python-all.ru/3/library/tkinter.ttk.html#item-options)
    - [Параметры тегов](https://python-all.ru/3/library/tkinter.ttk.html#tag-options)
    - [Идентификаторы столбцов](https://python-all.ru/3/library/tkinter.ttk.html#column-identifiers)
    - [Виртуальные события](https://python-all.ru/3/library/tkinter.ttk.html#id8)
    - [ttk.Treeview](https://python-all.ru/3/library/tkinter.ttk.html#ttk-treeview)
  - [Стилизация ttk](https://python-all.ru/3/library/tkinter.ttk.html#ttk-styling)

    - [Макеты](https://python-all.ru/3/library/tkinter.ttk.html#layouts)
  - [Дополнительные виджеты](https://python-all.ru/3/library/tkinter.ttk.html#additional-widgets)
- [IDLE – редактор и оболочка Python](https://python-all.ru/3/library/idle.html)

  - [Меню](https://python-all.ru/3/library/idle.html#menus)

    - [Меню «Файл» (оболочка и редактор)](https://python-all.ru/3/library/idle.html#file-menu-shell-and-editor)
    - [Меню «Правка» (оболочка и редактор)](https://python-all.ru/3/library/idle.html#edit-menu-shell-and-editor)
    - [Меню «Формат» (только окно редактора)](https://python-all.ru/3/library/idle.html#format-menu-editor-window-only)
    - [Меню «Запуск» (только окно редактора)](https://python-all.ru/3/library/idle.html#run-menu-editor-window-only)
    - [Меню «Оболочка» (только окно оболочки)](https://python-all.ru/3/library/idle.html#shell-menu-shell-window-only)
    - [Меню «Отладка» (только окно оболочки)](https://python-all.ru/3/library/idle.html#debug-menu-shell-window-only)
    - [Меню Options (оболочка и редактор)](https://python-all.ru/3/library/idle.html#options-menu-shell-and-editor)
    - [Меню Window (оболочка и редактор)](https://python-all.ru/3/library/idle.html#window-menu-shell-and-editor)
    - [Меню Help (оболочка и редактор)](https://python-all.ru/3/library/idle.html#help-menu-shell-and-editor)
    - [Контекстные меню](https://python-all.ru/3/library/idle.html#context-menus)
  - [Редактирование и навигация](https://python-all.ru/3/library/idle.html#editing-and-navigation)

    - [Окна редактора](https://python-all.ru/3/library/idle.html#editor-windows)
    - [Привязки клавиш](https://python-all.ru/3/library/idle.html#key-bindings)
    - [Автоматические отступы](https://python-all.ru/3/library/idle.html#automatic-indentation)
    - [Поиск и замена](https://python-all.ru/3/library/idle.html#search-and-replace)
    - [Автодополнение](https://python-all.ru/3/library/idle.html#completions)
    - [Подсказки вызова](https://python-all.ru/3/library/idle.html#calltips)
    - [Форматирование блока](https://python-all.ru/3/library/idle.html#format-block)
    - [Контекст кода](https://python-all.ru/3/library/idle.html#code-context)
    - [Окно оболочки](https://python-all.ru/3/library/idle.html#shell-window)
    - [Цвета текста](https://python-all.ru/3/library/idle.html#text-colors)
  - [Запуск и выполнение кода](https://python-all.ru/3/library/idle.html#startup-and-code-execution)

    - [Использование командной строки](https://python-all.ru/3/library/idle.html#command-line-usage)
    - [Ошибка запуска](https://python-all.ru/3/library/idle.html#startup-failure)
    - [Выполнение пользовательского кода](https://python-all.ru/3/library/idle.html#running-user-code)
    - [Вывод пользователя в оболочке](https://python-all.ru/3/library/idle.html#user-output-in-shell)
    - [Разработка приложений tkinter](https://python-all.ru/3/library/idle.html#developing-tkinter-applications)
    - [Запуск без подпроцесса](https://python-all.ru/3/library/idle.html#running-without-a-subprocess)
  - [Справка и настройки](https://python-all.ru/3/library/idle.html#help-and-preferences)

    - [Источники справки](https://python-all.ru/3/library/idle.html#help-sources)
    - [Настройка параметров](https://python-all.ru/3/library/idle.html#setting-preferences)
    - [IDLE в macOS](https://python-all.ru/3/library/idle.html#idle-on-macos)
    - [Расширения](https://python-all.ru/3/library/idle.html#extensions)
  - [idlelib – реализация приложения IDLE](https://python-all.ru/3/library/idle.html#module-idlelib)
- [`turtle` – Черепашья графика](https://python-all.ru/3/library/turtle.html)

  - [Введение](https://python-all.ru/3/library/turtle.html#introduction)
  - [Начало работы](https://python-all.ru/3/library/turtle.html#get-started)
  - [Учебное пособие](https://python-all.ru/3/library/turtle.html#tutorial)

    - [Запуск среды черепашки](https://python-all.ru/3/library/turtle.html#starting-a-turtle-environment)
    - [Основы рисования](https://python-all.ru/3/library/turtle.html#basic-drawing)

      - [Управление пером](https://python-all.ru/3/library/turtle.html#pen-control)
      - [Положение черепашки](https://python-all.ru/3/library/turtle.html#the-turtle-s-position)
    - [Создание алгоритмических узоров](https://python-all.ru/3/library/turtle.html#making-algorithmic-patterns)
  - [Как сделать…](https://python-all.ru/3/library/turtle.html#how-to)

    - [Начать как можно быстрее](https://python-all.ru/3/library/turtle.html#get-started-as-quickly-as-possible)
    - [Автоматическое начало и завершение заливки](https://python-all.ru/3/library/turtle.html#automatically-begin-and-end-filling)
    - [Использование пространства имён модуля `turtle`](https://python-all.ru/3/library/turtle.html#use-the-turtle-module-namespace)
    - [Использование turtle-графики в скрипте](https://python-all.ru/3/library/turtle.html#use-turtle-graphics-in-a-script)
    - [Использование объектно-ориентированной turtle-графики](https://python-all.ru/3/library/turtle.html#use-object-oriented-turtle-graphics)
  - [Справочник по turtle-графике](https://python-all.ru/3/library/turtle.html#turtle-graphics-reference)

    - [Методы черепашки](https://python-all.ru/3/library/turtle.html#turtle-methods)
    - [Методы TurtleScreen/Screen](https://python-all.ru/3/library/turtle.html#methods-of-turtlescreen-screen)
  - [Методы RawTurtle/Turtle и соответствующие функции](https://python-all.ru/3/library/turtle.html#methods-of-rawturtle-turtle-and-corresponding-functions)

    - [Движение черепашки](https://python-all.ru/3/library/turtle.html#turtle-motion)
    - [Состояние черепашки](https://python-all.ru/3/library/turtle.html#tell-turtle-s-state)
    - [Настройки измерений](https://python-all.ru/3/library/turtle.html#settings-for-measurement)
    - [Управление пером](https://python-all.ru/3/library/turtle.html#id1)

      - [Состояние рисования](https://python-all.ru/3/library/turtle.html#drawing-state)
      - [Управление цветом](https://python-all.ru/3/library/turtle.html#color-control)
      - [Заливка](https://python-all.ru/3/library/turtle.html#filling)
      - [Дополнительное управление рисованием](https://python-all.ru/3/library/turtle.html#more-drawing-control)
    - [Состояние черепашки](https://python-all.ru/3/library/turtle.html#turtle-state)

      - [Видимость](https://python-all.ru/3/library/turtle.html#visibility)
      - [Внешний вид](https://python-all.ru/3/library/turtle.html#appearance)
    - [Использование событий](https://python-all.ru/3/library/turtle.html#using-events)
    - [Специальные методы черепашки](https://python-all.ru/3/library/turtle.html#special-turtle-methods)
    - [Составные фигуры](https://python-all.ru/3/library/turtle.html#compound-shapes)
  - [Методы TurtleScreen/Screen и соответствующие функции](https://python-all.ru/3/library/turtle.html#methods-of-turtlescreen-screen-and-corresponding-functions)

    - [Управление окном](https://python-all.ru/3/library/turtle.html#window-control)
    - [Управление анимацией](https://python-all.ru/3/library/turtle.html#animation-control)
    - [Использование событий экрана](https://python-all.ru/3/library/turtle.html#using-screen-events)
    - [Методы ввода](https://python-all.ru/3/library/turtle.html#input-methods)
    - [Настройки и специальные методы](https://python-all.ru/3/library/turtle.html#settings-and-special-methods)
    - [Методы, специфичные для Screen и не унаследованные от TurtleScreen](https://python-all.ru/3/library/turtle.html#methods-specific-to-screen-not-inherited-from-turtlescreen)
  - [Публичные классы](https://python-all.ru/3/library/turtle.html#public-classes)
  - [Пояснения](https://python-all.ru/3/library/turtle.html#explanation)
  - [Справка и настройка](https://python-all.ru/3/library/turtle.html#help-and-configuration)

    - [Как пользоваться справкой](https://python-all.ru/3/library/turtle.html#how-to-use-help)
    - [Перевод docstrings на разные языки](https://python-all.ru/3/library/turtle.html#translation-of-docstrings-into-different-languages)
    - [Как настроить Screen и Turtles](https://python-all.ru/3/library/turtle.html#how-to-configure-screen-and-turtles)
  - [`turtledemo` – Демонстрационные скрипты](https://python-all.ru/3/library/turtle.html#module-turtledemo)
  - [Изменения начиная с Python 2.6](https://python-all.ru/3/library/turtle.html#changes-since-python-2-6)
  - [Изменения начиная с Python 3.0](https://python-all.ru/3/library/turtle.html#changes-since-python-3-0)
