# `tkinter.tix` — Ampliación de widgets para Tk

Código fuente: Lib/tkinter/tix.py

Obsoleto desde la versión 3.6: Esta ampliación de Tk no está mantenida y no debe ser usada en nuevo código. Use `tkinter.ttk` en su lugar.

El módulo `tkinter.tix` (Tk Interface Extension en inglés) proporciona un conjunto abundante de widgets adicionales. Aunque la biblioteca estándar Tk tiene muchos widgets útiles, están lejos de ser completos. La biblioteca `tkinter.tix` proporciona la mayoría de los widgets comúnmente necesarios que no están en el estándar Tk: `HList`, `ComboBox`, `Control` (alias SpinBox) y una selección de widgets desplazables. `tkinter.tix` también incluye muchos más widgets que son generalmente útiles en un rango amplio de aplicaciones: `NoteBook`, `FileEntry`, `PanedWindow`, etc; hay más de 40 de ellos.

Con todos estos nuevos widgets, puedes introducir nuevas técnicas de interacción en aplicaciones, creando interfaces de usuario más útiles y más intuitivas. Puedes diseñar tu aplicación al escoger los widgets más apropiados que combinen con las necesidades especiales de tu aplicación y usuarios.

Ver también

Tix Homepage

  La página de inicio de `Tix`. Incluye enlaces a documentación adicional y descargas.

Tix Man Pages

  Versión en línea de las páginas del manual y material de referencia.

Tix Programming Guide

  Versión en línea del material de referencia del programador.

Tix Development Applications

  Aplicaciones de Tix para el desarrollo de programas de Tix y Tkinter. Las aplicaciones de Tide (por Tix Integrated Development Environment en sus siglas de inglés) trabajan bajo Tk o Tkinter, e incluyen TixInspect, un inspector para modificar y depurar aplicaciones Tix/Tk/Tkinter remotamente.

## Usando Tix

class tkinter.tix.Tk(screenName=None, baseName=None, className='Tix')

  Un widget de alto nivel de Tix que representa generalmente la ventana principal de una aplicación. Tiene un intérprete Tcl asociado.

  Las clases en el módulo `tkinter.tix` heredan de la clases en `tkinter`. El primero importa el segundo, por lo que para usar `tkinter.tix` con Tkinter, todo lo que necesitas hacer es importar un módulo. En general, puedes importar `tkinter.tix`, y reemplazar las invocaciones de alto nivel a `tkinter.Tk` con `tix.Tk`:

      from tkinter import tix
      from tkinter.constants import *
      root = tix.Tk()

Para usar `tkinter.tix`, debes tener los widgets Tix instalados, usualmente junto a tu instalación de los widgets Tk. Para probar tu instalación, intenta lo siguiente:

    from tkinter import tix
    root = tix.Tk()
    root.tk.eval('package require Tix')

## Widgets de Tix

Tix introduce más de 40 clases de widget al repertorio de `tkinter`.

### Widgets Básicos

class tkinter.tix.Balloon

  Un Globo que aparece sobre un widget para proporcionar ayuda. Cuando el usuario mueve el cursor dentro de un widget al cual el widget Globo está ligado, una pequeña ventana emergente con un mensaje descriptivo se mostrará en la pantalla.

class tkinter.tix.ButtonBox

  El widget ButtonBox crea una caja de botones, tal como es comúnmente usado para `Ok Cancelar`.

class tkinter.tix.ComboBox

  El widget ComboBox es similar al control de caja de selección combinada en MS Windows. El usuario puede seleccionar una opción escribiendo en el subwidget de entrada o seleccionando de la caja de lista del subwidget.

class tkinter.tix.Control

  El widget Control es también conocido como el widget `SpinBox`. El usuario puede ajustar el valor al presionar los dos botones de flecha o al ingresar el valor directamente en la entrada. El nuevo valor será comparado con los límites superiores e inferiores definidos por el usuario.

class tkinter.tix.LabelEntry

  El widget LabelEntry empaqueta un widget de entrada y una etiqueta en un mega widget. Puede ser usado para simplificar la creación de los tipos de interfaz de «formularios de entrada».

class tkinter.tix.LabelFrame

  El widget LabelFrame empaqueta un widget frame y una etiqueta en un mega widget. Para crear widgets dentro de un widget LabelFrame, uno crea los nuevos widgets relativos al subwidget `frame` y los gestiona dentro del subwidget `frame`.

class tkinter.tix.Meter

  El widget Meter puede ser usado para mostrar el progreso de un trabajo en segundo plano que puede tomar un largo tiempo de ejecución.

class tkinter.tix.OptionMenu

  El widget OptionMenu crea un botón de menú de opciones.

class tkinter.tix.PopupMenu

  El widget PopupMenu puede ser usado como un reemplazo del comando `tk_popup`. La ventaja del widget `PopupMenu` de `Tix` es que requiere menos código de aplicación para manipular.

class tkinter.tix.Select

  El widget Select es un contenedor de subwidgets botón. Puede ser usado para proporcionar opciones de selección de estilos radio-box o check-box para el usuario.

class tkinter.tix.StdButtonBox

  El widget StdButtonBox es un grupo de botones estándares para cajas de diálogo similares a Motif.

### Selectores de Archivos

class tkinter.tix.DirList

  El widget DirList muestra una vista de lista de un directorio, sus directorios previos, y sus sub-directorios. El usuario puede mostrar uno de los directorios mostrados en la lista o cambiar a otro directorio.

class tkinter.tix.DirTree

  El widget DirTree muestra una vista de árbol de un directorio, sus directorios previos y sus sub-directorios. El usuario puede escoger uno de los directorios mostrados en la lista o cambiar a otro directorio.

class tkinter.tix.DirSelectDialog

  El widget DirSelectDialog presenta los directorios en el sistema de archivos en una ventana de diálogo. El usuario puede usar esta ventana de diálogo para navegar a través del sistema de archivos para seleccionar el directorio deseado.

class tkinter.tix.DirSelectBox

  El widget `DirSelectBox` es similar al cuadro de selección de directorio estándar de Motif(TM). Es generalmente usado para que el usuario escoja un directorio. DirSelectBox guarda los directorios seleccionados recientemente en un widget de cuadro combinado para que puedan ser seleccionados rápidamente de nuevo.

class tkinter.tix.ExFileSelectBox

  El widget ExFileSelectBox es usualmente embebido en un widget tixExFileSelectDialog. Proporciona un método conveniente para que el usuario seleccione archivos. El estilo del widget `ExFileSelectBox` es muy similar al diálogo de archivo estándar en MS Windows 3.1.

class tkinter.tix.FileSelectBox

  El widget FileSelectBox es similar al cuadro de selección de archivo estándar de Motif(TM). Es generalmente usado para que el usuario escoja un archivo. FileSelectBox guarda los archivos recientemente seleccionados en un widget `ComboBox` para que puedan ser rápidamente seleccionados de nuevo.

class tkinter.tix.FileEntry

  El widget FileEntry puede ser usado para ingresar un nombre de archivo. El usuario puede tipear el nombre de archivo manualmente. Alternativamente, el usuario puede presionar el widget de botón que está al lado de la entrada, que mostrará un diálogo de selección de archivo.

### ListBox jerárquico

class tkinter.tix.HList

  El widget HList puede ser usado para mostrar cualquier dato que tenga una estructura jerárquica, por ejemplo, árboles del directorio del sistema de archivos. Las entradas de las líneas son sangradas y conectadas por líneas de ramas de acuerdo a sus lugares en la jerarquía.

class tkinter.tix.CheckList

  El widget CheckList muestra una lista de objetos a ser seleccionados por el usuario. CheckList actúa de forma similar a los widget Tk checkbutton o radiobutton, excepto que es capaz de manejar muchos más objetos que los widgets checkbutton o radiobutton.

class tkinter.tix.Tree

  Se puede usar el widget Tree para mostrar datos jerárquicos en una forma de árbol. El usuario puede ajustar la vista del árbol al abrir o cerrar partes del árbol.

### ListBox Tabular

class tkinter.tix.TList

  Se puede usar el widget TList para mostrar datos en un formato tabular. Las entradas de lista de un widget `TList` son similares a las entradas del widget listbox. Las principales diferencias son (1) el widget `TList` puede mostrar las entradas de la lista en un formato de dos dimensiones y (2) puedes usar imágenes gráficas así como también como múltiples colores y fuentes para las entradas de lista.

### Gestores de Widgets

class tkinter.tix.PanedWindow

  El widget PanedWindow permite que el usuario manipule interactivamente los tamaños de varios paneles. Los paneles pueden ser ordenados o verticalmente u horizontalmente. El usuario cambia los tamaños de los paneles al arrastrar el asa de redimensionamiento entre dos paneles.

class tkinter.tix.ListNoteBook

  El widget ListNoteBook es muy similar al widget `TixNoteBook`: puede ser usado para mostrar muchas ventanas en un espacio limitado usando la metáfora del cuaderno (notebook). El cuaderno es dividido en una pila de páginas (ventanas). Sólo una de estas páginas se muestra a la vez. El usuario puede navegar a través de estas páginas al escoger el nombre de la página deseada en el subwidget `hlist`.

class tkinter.tix.NoteBook

  Se puede usar el widget NoteBook para mostrar muchas ventanas en un espacio limitado usando la metáfora del cuaderno (notebook). El notebook es dividido en una pila de páginas. Sólo una de estas páginas se puede mostrar a la vez. El usuario puede navegar a través de estas páginas al escoger las «pestañas» visuales arriba del widget NoteBook.

### Tipos de Imágenes

El módulo `tkinter.tix` añade:

- capacidades de pixmap a todos los widgets de `tkinter.tix` y `tkinter` para crear imágenes de color a partir de archivos XPM.

- se pueden usar los tipos de imágenes Compound para crear imágenes que consisten en múltiples líneas horizontales; cada línea es compuesta de una serie de objetos (texto, bitmaps, imágenes, o espacios) ordenados de izquierda a derecha. Por ejemplo, una imagen compuesta puede ser usada para mostrar un bitmap y una cadena de texto simultáneamente en un widget Tk `Button`.

### Widgets Varios

class tkinter.tix.InputOnly

  Los widgets InputOnly van a aceptar entradas del usuario, que pueden ser realizadas con el comando `bind` (sólo para Unix).

### Gestor de Geometría de Formulario

Además, `tkinter.tix` mejora a `tkinter` al proporcionar:

class tkinter.tix.Form

  El gestor de geometría de Formulario basado en reglas de anexo para todos los widgets Tk.

## Comandos Tix

class tkinter.tix.tixCommand

  Los comandos tix proporcionan acceso a elementos misceláneos del estado interno de `Tix` y del contexto de la aplicación de `Tix`. La mayoría de la información manipulada por estos métodos le pertenece a la aplicación en conjunto, o a una pantalla o monitor, en vez de una ventana en particular.

  Para ver las configuraciones actuales, el uso común es:

      from tkinter import tix
      root = tix.Tk()
      print(root.tix_configure())

tixCommand.tix_configure(cnf=None, **kw)

  Consulta o modifica las opciones de configuración del contexto de la aplicación Tix. Si no se especifica ninguna opción, retorna un diccionario con todas las opciones disponibles. Si la opción es especificada sin ningún valor, entonces el método retorna una lista describiendo la opción nombrada (esta lista será idéntica a la sublista correspondiente de los valores retornados si no se especifica ninguna opción). Si uno o más pares opción-valor son especificados, entonces el método modifica las opciones dadas para tener los valores dados; en este caso el método retorna una cadena de caracteres vacía. La opción puede ser cualquiera de las opciones de configuración.

tixCommand.tix_cget(option)

  Retorna el valor actual de la opción de configuración dada por option. La opción puede ser cualquiera de las opciones configurables.

tixCommand.tix_getbitmap(name)

  Localiza un archivo bitmap con el nombre `name.xpm` o `name` en uno de los directorios bitmap (véase el método `tix_addbitmapdir()`). Al usar `tix_getbitmap()`, puedes evitar codificar directamente los nombres de ruta de los archivos bitmap en tu aplicación. Cuando tiene éxito, retorna el nombre de ruta completo del archivo bitmap, prefijado con el carácter `@`. El valor retornado puede ser usado para configurar la opción `bitmap` de los widgets de Tk y Tix.

tixCommand.tix_addbitmapdir(directory)

  Tix mantiene una lista de directorios bajo los cuales los métodos `tix_getimage()` y `tix_getbitmap()` buscarán archivos de imágenes. El directorio de bitmap estándar es `$TIX_LIBRARY/bitmaps`. El método `tix_addbitmapdir()` añade directory a la lista. Al usar este método, los archivos de imagen de una aplicación pueden ser localizados usando el método `tix_getimage()` o `tix_getbitmap()`.

tixCommand.tix_filedialog([dlgclass])

  Retorna el diálogo de selección de archivo que puede ser compartido entre diferentes invocaciones de esta aplicación. Este método creará una widget de diálogo de selección de archivos cuando es invocado la primera vez. Este diálogo será retornado por las subsiguientes invocaciones de `tix_filedialog()`. Un parámetro dlgclass opcional puede ser pasado como cadena para especificar qué tipo de widget de selección de diálogo es deseado. Las opciones posibles son `tix`, `FileSelectDialog`, o `tixExFileSelectDialog`.

tixCommand.tix_getimage(self, name)

  Localiza un archivo de imagen con el nombre `name.xpm`, `name.xbm` o `name.ppm` en uno de los directorios de bitmap (véase el método `tix_addbitmapdir()` arriba). Si existe más de un archivo con el mismo nombre (pero con diferentes extensiones), entonces el tipo de imagen es escogido de acuerdo a la profundidad del monitor X: las imágenes xbm son escogidas en monitores monocromos e imágenes de color son escogidas en monitores de color. Al usar `tex_getimage()`, puedes evitar codificar de forma directa los nombres de ruta de los archivos de imagen en tu aplicación. Cuando tiene éxito, este método retorna el nombre de la imagen recién creada, que puede ser usada para configurar la opción `image` de los widgets Tk y Tix.

tixCommand.tix_option_get(name)

  Obtiene las opciones mantenidas por el mecanismo de esquema de Tix.

tixCommand.tix_resetoptions(newScheme, newFontSet[, newScmPrio])

  Reinicia el esquema y conjunto de fuentes de la aplicación Tix a newScheme y newFontSet, respectivamente. Afecta sólo a los widgets creados después de esta invocación. Por lo tanto, es mejor invocar al método resetoptions antes de la creación de cualquier widget en una aplicación Tix.

  Se le puede dar el parámetro opcional newScmPrio para reiniciar el nivel de prioridad de las opciones de Tk definidas por los esquemas de Tix.

  Debido a la manera en que Tk gestiona la opción de la base de datos X, después de que Tix se haya importado e inicializado, no es posible reiniciar el esquema de colores y conjunto de fuentes usando el método `tix_config()` método. En vez de eso, se debe usar el método `tix_resetoptions()`.