# Interfaces gráficas de usuario con Tk

Tk/Tcl ha sido durante mucho tiempo una parte integral de Python. Proporciona un conjunto de herramientas robusto e independiente de la plataforma para administrar ventanas. Disponible para desarrolladores a través del paquete `tkinter` y sus extensiones, los módulos `tkinter.tix` y `tkinter.ttk`.

El paquete `tkinter` es una fina capa orientada a objetos encima de Tcl/Tk. Para usar `tkinter`, no necesita escribir código Tcl, pero deberá consultar la documentación de Tk y, ocasionalmente, la documentación de Tcl. `tkinter` es un conjunto de envoltorios que implementan los widgets Tk como clases de Python.

Las principales virtudes de `tkinter` son que es rápido y que generalmente viene incluido con Python. Aunque su documentación estándar es débil, se dispone de buen material, que incluye: referencias, tutoriales, un libro y otros. `tkinter` también es famoso por tener un aspecto y una sensación obsoletos, que se ha mejorado enormemente en Tk 8.5. Sin embargo, hay muchas otras bibliotecas GUI en las que podría estar interesado. La wiki de Python enumera varias GUI frameworks and tools alternativas.

- `tkinter` — Interface de Python para Tcl/Tk
  - Arquitectura
  - Módulos Tkinter
  - Guía de supervivencia de Tkinter
    - Un programa simple de Hola Mundo
    - Conceptos importantes de Tk
    - Entendiendo como funcionan los empaquetadores de Tcl/Tk
    - ¿Cómo lo hago?, ¿Cómo funciona?
    - Navegando en el manual de referencia de Tcl/Tk
  - Modelo de subprocesamiento
  - Guía práctica
    - Configuración de opciones
    - El empaquetador
    - Opciones del empaquetador
    - Asociación de variables de widget
    - El gestor de ventanas
    - Tipos de datos de opciones Tk
    - Enlaces y eventos
    - El parámetro índice
    - Imágenes
  - Gestor de archivos
- `tkinter.colorchooser` — Diálogo de elección de color
- `tkinter.font` — Envoltorio de fuente Tkinter
- Diálogos tkinter
  - `tkinter.simpledialog` —Diálogos de entrada estándar de Tkinter
  - Diálogos de selección de archivos
    - Diálogos nativos de carga/guardado
  - `tkinter.commondialog` — Plantillas de ventanas de diálogo
- `tkinter.messagebox` — Indicadores de mensajes de Tkinter
- `tkinter.scrolledtext` — Widget de texto desplazado
- `tkinter.dnd` — Soporte de arrastrar y soltar
- `tkinter.ttk` — Tk widgets temáticos
  - Uso de Ttk
  - Ttk widgets
  - Widget
    - Opciones estándar
    - Opciones de widgets desplegables
    - Opciones de etiqueta
    - Opciones de compatibilidad
    - Estados del widget
    - ttk.Widget
  - Combobox
    - Opciones
    - Eventos virtuales
    - ttk.Combobox
  - Spinbox
    - Opciones
    - Eventos virtuales
    - ttk.Spinbox
  - Notebook
    - Opciones
    - Opciones de pestañas
    - Identificadores de pestañas
    - Eventos virtuales
    - ttk.Notebook
  - Progressbar
    - Opciones
    - ttk.Progressbar
  - Separator
    - Opciones
  - Sizegrip
    - Notas específicas por plataforma
    - Errores detectados
  - Treeview
    - Opciones
    - Opciones de elementos
    - Opciones de etiqueta
    - Identificadores de columna
    - Eventos virtuales
    - ttk.Treeview
  - Ttk Styling
    - Diseños
- `tkinter.tix` — Ampliación de widgets para Tk
  - Usando Tix
  - Widgets de Tix
    - Widgets Básicos
    - Selectores de Archivos
    - ListBox jerárquico
    - ListBox Tabular
    - Gestores de Widgets
    - Tipos de Imágenes
    - Widgets Varios
    - Gestor de Geometría de Formulario
  - Comandos Tix
- IDLE
  - Menús
    - Menú de archivo (Shell y Editor)
    - Menú editar (Shell y Editor)
    - Menú de formato (solo ventana del Editor)
    - Menú ejecutar (solo ventana Editor)
    - Menú de shell (solo ventana de shell)
    - Menú de depuración (solo ventana de shell)
    - Menú de opciones (Shell y editor)
    - Menú de ventana (shell y editor)
    - Menú de ayuda (shell y editor)
    - Menús contextuales
  - Edición y navegación
    - Ventana del editor
    - Atajos de teclado
    - Indentación automática
    - Buscar y reemplazar
    - Terminaciones
    - Sugerencias de llamada
    - Contexto del código
    - Ventana de Shell
    - Colores del texto
  - Inicio y ejecución de código
    - Uso de línea de comando
    - Error de inicio
    - Ejecutando código del usuario
    - Salida del usuario en consola
    - Desarrollando aplicaciones tkinter
    - Ejecutando sin un subproceso
  - Ayuda y preferencias
    - Recursos de ayuda
    - Preferencias de configuración
    - IDLE en macOS
    - Extensiones
  - idlelib