# Python/Interfaz gráfica con Tkinter/Gestión de ventanas

* Índice de la sección «Interfaz gráfica con Tkinter»
* Empezando por lo básico
* Colores
* Los nombres de los colores
* Parámetros
* Disponibilidad de parámetros
* Unidades de medida
* Botones
* Cuadro de texto
* Métodos del cuadro de texto
* Etiquetas
* Gestión de ventanas

## Métodos

Los siguiente métodos nos darán la posibilidad de personalizar al máximo nuestra aplicación y cada una de sus ventanas

### iconify
#### Descripción

    Permite minimizar la ventana que le indiquemos, esto es útil por ejemplo, para minimizar una ventana padre cuando se abre una ventana hija. Lo mejor será verlo con unos ejemplos.

#### Argumentos

    No tiene

#### Ejemplos

* En este ejemplo usamos el método 'iconify' en un botón para minimizar la ventana cuando se haga click sobre él:
* En este otro ejemplo creamos un botón que abre otra ventana y minimiza la ventana padre

### deiconify
#### Descripción

    Al contrario de como vimos en 'iconify' que podíamos minimizar la ventana, con 'deiconify' podemos restaurar la ventana, como paso con 'iconify' veámoslo con unos ejemplos

#### Argumentos

    No tiene

#### Ejemplos

* Esta es una variación de uno de los ejemplos que ya habíamos visto, pero en este cuando hacemos click en el botón 'Minimizar' este se minimiza pero pasado 5 segundos se vuelve a restaurar la ventana.

### title
#### Descripción

    Permite indicar el título de la ventana. Podría decirse que este valor se hereda ya que si creamos una nueva ventana a través de Toplevel esta tomaría el nombre de la ventana padre.

#### Argumentos

    String (Cadena)

#### Ejemplos

* Ejemplos simple:
* Heredando el título de la ventana padre:
* Ejemplo de dos ventanas con títulos distintos:

### geometry
#### Descripción

    Este método es uno, junto con el resto (no hay que desmerecer la función de ninguno), muy importante, ya que nos permitirá indicar tanto el tamaño de la ventana como su posición, esto nos permitirá trabajar con varias ventanas de una forma más prolija y agradable para el usuario si se planifican bien los objetivos y se utilizan las herramientas adecuadas; en este caso hablaremos de 'geometry'.
    Para su utilización tenemos dos posibilidades, una es indicar solo el tamaño de la ventana usando la siguiente forma:
    o indicando además del tamaño de la ventana la posición de la misma de la siguiente forma:
    El ancho y el alto deben ser reemplazados por las letras W y H respectivamente, separadas por una letra 'x' y su valor deberá ser en pixeles, seguido de estos dos pueden ir de manera opcional dos valores mas que indicaran la posición de la ventana en la pantalla donde se deberá indicar estos valores, también en pixeles, para el eje x y el eje y. Una observación que se debe hacer es que los valores que tome tanto el ancho como el alto de la ventana ademas de ser únicamente en pixeles deberán de ser números enteros positivos.
    El significado del signo mas y menos indica que si se le pasa un valor positivo este será contado desde la esquina superior izquierda de la pantalla, en cambio si le pasamos un valor negativo este sera tomado en cuenta partiendo como origen desde la esquina inferior derecha; este es un detalle que hay que tener muy en cuenta cuando deseamos posicionar una ventana.
    Si no le diéramos argumentos nos devolvería la medida y la posición de la ventana.

#### Argumentos

    "wxh±x±y"
    Donde las letras tienen este significado:
* w: Ancho de la ventana en pixeles
* h: Alto de la ventana en pixeles
* x: Posición en el eje X
* y: Posición en el eje Y

#### Ejemplos

    Como se observa se crean dos ventanas donde a una se le pasa valores positivos y a la otra por el contrario sus valores serán negativos.
    Archivo:Diseno/metodos/img/geometry.jpg
* Si no le pasamos ningún argumento nos devolverá el tamaño y la posición de la ventana como vemos a continuación:

### maxsize
#### Descripción

    Establece los valores máximos de la medida de la ventana, tanto su ancho como su alto. Estos valores se entregan en píxeles, siendo el primer valor el ancho y el segundo el largo, aunque el orden de estos valores pueden alterarse como se observa en los ejemplos.

#### Argumentos

    (W, H)
    Donde:
    W = Ancho (Width)
    H = Alto (Height)
o tambien de esta forma
(width=W, height=H)

#### Ejemplos
### minsize
#### Descripción

    Establece los valores mínimos de la medida de la ventana, tanto su ancho como su alto. Estos valores se entregan en píxeles siendo el primer valor el ancho y el segundo el largo, aunque el orden de estos valores puede alterarse como se observa en los ejemplos.

#### Argumentos

    (W, H)
    Donde:
    W = Ancho (Width)
    H = Alto (Height)
    o también de esta forma
    (width=W, height=H)

#### Ejemplos
### state
#### Descripción

    Podemos cambiar el estado en el que se encuentra la ventana a 'normal', 'iconic' o 'withdraw'. Con la opción 'normal' la ventana se comporta normalmente apareciendo en la ventana, con la opción 'iconic' obtenemos los mismos resultados que el método 'iconify', minimizando la ventana y por último con 'withdraw' obtendremos, como se imaginarán, el mismo resultado que con 'withdraw' ocultando la ventana.

#### Argumentos

    newstate=ESTADO
    Donde ESTADO toma estos valores:

#### Ejemplos
### resizable
#### Descripción

    Nos permite indicar si la ventana debe o no poder redimensionarse, ya sea en su ancho o su alto, dándole a sus parámetros 'width'(Ancho) y 'height' (Largo) los valores 'True' o 'False'. Con True habilitamos el redimensionamiento y con False los deshabilitamos. Si estamos usando a su vez los métodos 'minsize' y/o 'maxsize' el valor máximo al cual se pueda redimensionar dependerá de estos dos métodos en caso de existir.

#### Argumentos

    (W, H)
    Donde:
    W = Al ancho y puede tomar los valores True o False
    H = Al alto y puede tomar los valores True o False
    o también esta forma:
    (width=W, height=H)

#### Ejemplos

* Redimensionar solo el ancho:
* Redimensionar solo el alto:
* Bloquear el redimensionamiento de la ventana:

### withdraw
#### Descripción

    Este método permite ocultar una ventana; la forma que podemos usar para restaurarla es con 'deiconify' o 'iconify', o a traves del método 'state' que nos puede resultar más cómodo de usar. No se requiere de ningún argumento para funcionar como sucede tanto con 'deiconify' e 'iconify'.

#### Argumentos

    No tiene

#### Ejemplos
### transient
#### Descripción

    Este método lo que permite es hacer que una ventana permanezca siempre encima de otra, si la ventana padre se minimiza la ventana que lleva el método '.transient' también lo hará y si esta ventana padre se cerrara la ventana hija también se cerraría.

#### Ejemplos

    Como ven si intentan mover la ventana padre observaran que esta permanece siempre debajo de la ventana hija.
Python: Índice · Introducción · Enlaces :
* Instalación de Python ·
* Generalidades ·
* Funciones, constantes nativas ·
* Tipos de datos nativos ·
* Herramientas de control de flujo ·
* Definición de funciones ·
* Leer y escribir archivos ·
* Su primer programa en Python ·
* Entrada y salida ·
* Estructuras de datos ·
* Errores y excepciones
* Interfaces gráficas ·
* Módulos relacionados con el sonido ·
* Módulos relacionados con el tiempo ·
* Módulos relacionados con la matemática