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

---

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

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

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

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

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

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

    - [25.1.2.1. Как использовать этот раздел](https://python-all.ru/3.5/library/tkinter.html#how-to-use-this-section)
    - [25.1.2.2. Простой пример программы «Hello World»](https://python-all.ru/3.5/library/tkinter.html#a-simple-hello-world-program)
  - [25.1.3. Краткий обзор Tcl/Tk](https://python-all.ru/3.5/library/tkinter.html#a-very-quick-look-at-tcl-tk)
  - [25.1.4. Отображение базового Tk в Tkinter](https://python-all.ru/3.5/library/tkinter.html#mapping-basic-tk-into-tkinter)
  - [25.1.5. Как связаны Tk и Tkinter](https://python-all.ru/3.5/library/tkinter.html#how-tk-and-tkinter-are-related)
  - [25.1.6. Удобный справочник](https://python-all.ru/3.5/library/tkinter.html#handy-reference)

    - [25.1.6.1. Настройка параметров](https://python-all.ru/3.5/library/tkinter.html#setting-options)
    - [25.1.6.2. Упаковщик](https://python-all.ru/3.5/library/tkinter.html#the-packer)
    - [25.1.6.3. Параметры упаковщика](https://python-all.ru/3.5/library/tkinter.html#packer-options)
    - [25.1.6.4. Привязка переменных виджетов](https://python-all.ru/3.5/library/tkinter.html#coupling-widget-variables)
    - [25.1.6.5. Менеджер окон](https://python-all.ru/3.5/library/tkinter.html#the-window-manager)
    - [25.1.6.6. Типы данных параметров Tk](https://python-all.ru/3.5/library/tkinter.html#tk-option-data-types)
    - [25.1.6.7. Привязки и события](https://python-all.ru/3.5/library/tkinter.html#bindings-and-events)
    - [25.1.6.8. Параметр index](https://python-all.ru/3.5/library/tkinter.html#the-index-parameter)
    - [25.1.6.9. Изображения](https://python-all.ru/3.5/library/tkinter.html#images)
  - [25.1.7. Обработчики файлов](https://python-all.ru/3.5/library/tkinter.html#file-handlers)
- [25.2. `tkinter.ttk` – Tk темизированные виджеты](https://python-all.ru/3.5/library/tkinter.ttk.html)

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

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

    - [25.2.4.1. Параметры](https://python-all.ru/3.5/library/tkinter.ttk.html#options)
    - [25.2.4.2. Виртуальные события](https://python-all.ru/3.5/library/tkinter.ttk.html#virtual-events)
    - [25.2.4.3. ttk.Combobox](https://python-all.ru/3.5/library/tkinter.ttk.html#ttk-combobox)
  - [25.2.5. Notebook](https://python-all.ru/3.5/library/tkinter.ttk.html#notebook)

    - [25.2.5.1. Параметры](https://python-all.ru/3.5/library/tkinter.ttk.html#id1)
    - [25.2.5.2. Параметры вкладок](https://python-all.ru/3.5/library/tkinter.ttk.html#tab-options)
    - [25.2.5.3. Идентификаторы вкладок](https://python-all.ru/3.5/library/tkinter.ttk.html#tab-identifiers)
    - [25.2.5.4. Виртуальные события](https://python-all.ru/3.5/library/tkinter.ttk.html#id2)
    - [25.2.5.5. ttk.Notebook](https://python-all.ru/3.5/library/tkinter.ttk.html#ttk-notebook)
  - [25.2.6. Progressbar](https://python-all.ru/3.5/library/tkinter.ttk.html#progressbar)

    - [25.2.6.1. Опции](https://python-all.ru/3.5/library/tkinter.ttk.html#id3)
    - [25.2.6.2. ttk.Progressbar](https://python-all.ru/3.5/library/tkinter.ttk.html#ttk-progressbar)
  - [25.2.7. Separator](https://python-all.ru/3.5/library/tkinter.ttk.html#separator)

    - [25.2.7.1. Опции](https://python-all.ru/3.5/library/tkinter.ttk.html#id4)
  - [25.2.8. Sizegrip](https://python-all.ru/3.5/library/tkinter.ttk.html#sizegrip)

    - [25.2.8.1. Замечания по платформам](https://python-all.ru/3.5/library/tkinter.ttk.html#platform-specific-notes)
    - [25.2.8.2. Ошибки](https://python-all.ru/3.5/library/tkinter.ttk.html#bugs)
  - [25.2.9. Treeview](https://python-all.ru/3.5/library/tkinter.ttk.html#treeview)

    - [25.2.9.1. Опции](https://python-all.ru/3.5/library/tkinter.ttk.html#id5)
    - [25.2.9.2. Опции элементов](https://python-all.ru/3.5/library/tkinter.ttk.html#item-options)
    - [25.2.9.3. Опции тегов](https://python-all.ru/3.5/library/tkinter.ttk.html#tag-options)
    - [25.2.9.4. Идентификаторы столбцов](https://python-all.ru/3.5/library/tkinter.ttk.html#column-identifiers)
    - [25.2.9.5. Виртуальные события](https://python-all.ru/3.5/library/tkinter.ttk.html#id6)
    - [25.2.9.6. ttk.Treeview](https://python-all.ru/3.5/library/tkinter.ttk.html#ttk-treeview)
  - [25.2.10. Стилизация ttk](https://python-all.ru/3.5/library/tkinter.ttk.html#ttk-styling)

    - [25.2.10.1. Макеты](https://python-all.ru/3.5/library/tkinter.ttk.html#layouts)
- [25.3. `tkinter.tix` – Расширенные виджеты для Tk](https://python-all.ru/3.5/library/tkinter.tix.html)

  - [25.3.1. Использование Tix](https://python-all.ru/3.5/library/tkinter.tix.html#using-tix)
  - [25.3.2. Виджеты Tix](https://python-all.ru/3.5/library/tkinter.tix.html#tix-widgets)

    - [25.3.2.1. Базовые виджеты](https://python-all.ru/3.5/library/tkinter.tix.html#basic-widgets)
    - [25.3.2.2. Выбор файлов](https://python-all.ru/3.5/library/tkinter.tix.html#file-selectors)
    - [25.3.2.3. Иерархический список](https://python-all.ru/3.5/library/tkinter.tix.html#hierarchical-listbox)
    - [25.3.2.4. Табличный список](https://python-all.ru/3.5/library/tkinter.tix.html#tabular-listbox)
    - [25.3.2.5. Виджеты-менеджеры](https://python-all.ru/3.5/library/tkinter.tix.html#manager-widgets)
    - [25.3.2.6. Типы изображений](https://python-all.ru/3.5/library/tkinter.tix.html#image-types)
    - [25.3.2.7. Прочие виджеты](https://python-all.ru/3.5/library/tkinter.tix.html#miscellaneous-widgets)
    - [25.3.2.8. Менеджер геометрии Form](https://python-all.ru/3.5/library/tkinter.tix.html#form-geometry-manager)
  - [25.3.3. Команды Tix](https://python-all.ru/3.5/library/tkinter.tix.html#tix-commands)
- [25.4. `tkinter.scrolledtext` – Виджет прокручиваемого текста](https://python-all.ru/3.5/library/tkinter.scrolledtext.html)
- [25.5. IDLE](https://python-all.ru/3.5/library/idle.html)

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

    - [25.5.1.1. Меню «Файл» (Shell и редактор)](https://python-all.ru/3.5/library/idle.html#file-menu-shell-and-editor)
    - [25.5.1.2. Меню «Правка» (Shell и редактор)](https://python-all.ru/3.5/library/idle.html#edit-menu-shell-and-editor)
    - [25.5.1.3. Меню «Формат» (только в окне редактора)](https://python-all.ru/3.5/library/idle.html#format-menu-editor-window-only)
    - [25.5.1.4. Меню «Выполнить» (только в окне редактора)](https://python-all.ru/3.5/library/idle.html#run-menu-editor-window-only)
    - [25.5.1.5. Меню «Shell» (только в окне Shell)](https://python-all.ru/3.5/library/idle.html#shell-menu-shell-window-only)
    - [25.5.1.6. Меню «Отладка» (только в окне Shell)](https://python-all.ru/3.5/library/idle.html#debug-menu-shell-window-only)
    - [25.5.1.7. Меню «Параметры» (Shell и редактор)](https://python-all.ru/3.5/library/idle.html#options-menu-shell-and-editor)
    - [25.5.1.8. Меню «Окно» (Shell и редактор)](https://python-all.ru/3.5/library/idle.html#window-menu-shell-and-editor)
    - [25.5.1.9. Меню «Справка» (Shell и редактор)](https://python-all.ru/3.5/library/idle.html#help-menu-shell-and-editor)
    - [25.5.1.10. Контекстные меню](https://python-all.ru/3.5/library/idle.html#context-menus)
  - [25.5.2. Редактирование и навигация](https://python-all.ru/3.5/library/idle.html#editing-and-navigation)

    - [25.5.2.1. Автоматический отступ](https://python-all.ru/3.5/library/idle.html#automatic-indentation)
    - [25.5.2.2. Автодополнение](https://python-all.ru/3.5/library/idle.html#completions)
    - [25.5.2.3. Подсказки вызова](https://python-all.ru/3.5/library/idle.html#calltips)
    - [25.5.2.4. Окно оболочки Python](https://python-all.ru/3.5/library/idle.html#python-shell-window)
    - [25.5.2.5. Цвета текста](https://python-all.ru/3.5/library/idle.html#text-colors)
  - [25.5.3. Запуск и выполнение кода](https://python-all.ru/3.5/library/idle.html#startup-and-code-execution)

    - [25.5.3.1. Использование командной строки](https://python-all.ru/3.5/library/idle.html#command-line-usage)
    - [25.5.3.2. Отличия IDLE от консоли](https://python-all.ru/3.5/library/idle.html#idle-console-differences)
    - [25.5.3.3. Запуск без подпроцесса](https://python-all.ru/3.5/library/idle.html#running-without-a-subprocess)
  - [25.5.4. Справка и настройки](https://python-all.ru/3.5/library/idle.html#help-and-preferences)

    - [25.5.4.1. Дополнительные источники справки](https://python-all.ru/3.5/library/idle.html#additional-help-sources)
    - [25.5.4.2. Настройка параметров](https://python-all.ru/3.5/library/idle.html#setting-preferences)
    - [25.5.4.3. Расширения](https://python-all.ru/3.5/library/idle.html#extensions)
- [25.6. Другие пакеты графического интерфейса пользователя](https://python-all.ru/3.5/library/othergui.html)
