"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()".
