Tkinter
Python
¿Qué es Tkinter?
Tkinter es el módulo de Python más
utilizado para crear interfaces
gráficas, es una capa orientada a
objetos.
No es necesario instalar un módulo
adicional, pues ya viene
incorporado.
Hola Mundo
En este ejercicio, se hará una ventana
con título de ¡Hola mundo!
Se abre un nuevo archivo
con el nombre [Link]
PASO 1
Se importa la librería tkinter.
PASO 2
Se crea la ventana.
PASO 3
Usando geometry se indica el
tamaño de la ventana.
PASO 4
Usando title se define el título
de la ventana
PASO 5
Para que la ventana pueda
ser visualizada se utiliza
mainloop.
Se compila
Al ejecutar el código, se
visualiza la ventana con el título
que se ha designado.
Manejo de
Botones Tkinter
Se crea la estructura explicada
anteriormente.
PASO 6
Se utiliza la etiqueta
iconbitmap, el cual tiene la
función de cambiar el icono
de la ventana por el que elija.
El icono tiene que ser
guardado en la carpeta
del proyecto
PASO 7
Se crea el primer botón,
utilizando la etiqueta Button,
la cual permite generar un
botón para la ventana.
PASO 8
Se utiliza la etiqueta pack,
para que se pueda visualizar
el botón en la ventana.
Se ejecuta.
Se puede observar que la ventana
tiene el icono personalizado y un
botón con la opción clic aquí.
Eventos Tkinter
Nuevamente se crea la
estructura ya conocida.
PASO 9
Se crea una función, la cual
permite generar el
funcionamiento del botón.
PASO 10
Se crea un nuevo botón y se
muestra. Entonces, cada vez
que se ejecute este evento se
generará un nuevo botón y se
mostrará en ventana.
PASO 11
Se crea la estructura para imprimir un botón, el cual tiene por función
llamar el evento generado anteriormente.
Para ello se apoya de un componente llamado command, el cual
permite llamar la función.
2
1
Por último se usa la etiqueta mainloop para mostrar la ventana y se
compila.
Como se observa, la ventana tiene el botón
creado.
Ahora se hace clic una vez sobre el botón….
1
Se observa que han salido dos nuevos
botones y cada vez que se presione el
primer botón se genera un segundo
botón.
1
Para el ejemplo se presiona cinco veces
el botón; se han generado cinco nuevos
botones, por ello ahora hay seis botones
en la pantalla, Esto es generar un
evento dentro de tkinter.
1
Grid Manager
Tkinter
Se inicia con la estructura
básica para crear una una
ventana con icono.
PASO 12
A continuación se crean dos
eventos que permiten cambiar
el texto de los botones.
PASO 13
Ahora se crean dos botones que hagan uso de las funciones creadas,
se hace uso la etiqueta grid para mostrar estos botones.
A diferencia del ejemplo anterior esta etiqueta permite jugar con las
posiciones, se coloca en la row 1 el botón 2.
2
Por último se usa la etiqueta mainloop para mostrar la ventana y se
compila.
Como se observa, se han generado dos
botones, ahora se hace clic en uno de
1 ellos; el botón 2.
Aquí el evento se ha ejecutado y ha
cambiado el texto del botón.
1
Como conclusión: el grid permite
cambiar la posición de los componentes,
dividiendo en filas y columnas dicho
componente.
Configuración
del Grid
Se crea la estructura básica ya
conocida.
PASO 14
Se configuran las posiciones
de la ventana, por filas y
columnas haciendo uso del
grid
PASO 15
Se manejan dos eventos, los
que van a tener dentro el
cambio de texto de los botones.
PASO 16
A continuación se crean dos botones con el grid y con los eventos 1 y 2.
Ahora se usa la etiqueta sticky = NSWE que permite definir la orientación, tomando
en cuenta lo siguiente N(arriba), E(derecha), S(abajo), W(izquierda)
PASO 17
Nuevamente se crean dos botones, usando la
misma base de los anteriores.
2
Se usa la etiqueta mainloop para mostrar la y se compila.
Aquí se observa la distribución de
botones, recordar que el botón 1 y 2
tienen eventos mientras que el 3 y 4 son
botones normales.
Si se presiona uno de los botones que
1 tiene eventos se observa que cambia.
También se pueden cambiar diferentes características como el color, en este
caso se crea un evento que permite cambiar el texto y el color del botón.
Haciendo uso de la etiqueta fg se puede cambiar el color de la letra, con relief,
toma todo el espacio del botón y con bg se define el color de fondo del botón.
Y haciendo uso del comand se llama
el evento.
Se ejecuta
Se selecciona el botón con el nuevo
evento para el ejemplo, el botón 4.
Se puede ver que el color del fondo y el
color de letra ha cambiado.
Entry en Tkinter
Se crea la estructura básica
ya conocida.
PASO 18
Se usa la función Entry, la cual permite
generar un cuadro de texto, la etiqueta
width da la separación y la etiqueta
justify permite justificar el texto.
PASO 19
A continuación conl la etiqueta insert
se indica el texto que va a tener el
cuadro de texto. Con el segundo insert
se coloca un “punto” al final usando la
etiqueta END.
2
1
Nuevamente se usa mainloop para mostrar la ventana y se
compila.
Se observa que se generó un pequeño
cuadro de texto, con texto ya
predefinido, el cual se puede modificar
sin ningún problema.
Para el ejemplo se modifica con el texto
hola estudiantes.
De regreso al código, se crea una función para enviar
información, se usa el get, para recuperar la
información que el usuario digite en el cuadro de texto
para luego mostrarla por el terminal usando un print.
Haciendo uso de la misma lógica, se inserta la opción para
que al oprimir el botón, este permite modificar el texto por
aquel que el usuario digite.
Se coloca un punto al final, usando el select_range y el
END para encontrar la última posición de la cadena de
texto.
Se utiliza la etiqueta focus, para que se haga efectivo
el cambio.
Se ejecuta el código.
Se observa que ahora hay un
botón con la opción de enviar,
también se permite cambiar el
texto predefinido, por la elección
del usuario, en este caso se
cambia a estudiantes y se da clic
en enviar.
Ahora se puede ver que el texto
del botón ha sido cambiado y que
por el terminal también se ha
impreso la información enviada.
vamos a crear una variable que luego nos va a permitir
modificarse para esto usamos el método StringVar
Usando la variable etiqueta, se agrega un label, el cual permite
agregar texto plano, pero al tener la misma variable , cada vez
que se ejecute el código, el texto se modificará.
Ahora se modifica la función enviar, para
que el botón modifique la información del
label.
Se ejecuta el código.
Como se observa en el momento
que se ejecuta sale un texto
plano en la parte inferior, ahora
se introduce un nuevo texto y se
da clic en enviar.
Cuando se da clic en enviar, el
label se modifica. También se
puede observar por consola
A continuación se harán mensajes
emergentes, también conocidos
como messagebox, para esto se
importa la librería.
Los mensajes emergentes, se usan dentro
de la función enviar. Para ello primero se
define el mensaje que va a tener la caja de
texto.
Se usa un if para saber si hay información.
Se usan los diferentes tipo de box que
existen, los cuales son:
Showinfo = caja de información
Showerror = caja de error
Showwarning = caja de peligro.
Se ejecuta el código
Para este ejemplo, se da clic
únicamente en el botón enviar sin
modificar nada, pero si se desea se
puede cambiar el valor.
Se abre una ventana emergente
con la información de la caja de
texto y un pequeño icono
mostrando en este caso es el
icono de información.
Luego aparece la siguiente caja
con el icono que informa que salió
un error.
Por último se abre la caja con el
icono de peligro o alerta.
Ejercicio Práctico
Login con Tkinter
Se importan las librerías.
Se crea la venta principal.
Se definen los grid.
Se crean los datos de usuario.
Se crean los datos de
password.
Se crea la función para el login,
Utilizando la caja de show-info.
Se ejecuta la ventana y se
compila.
Vamos a crear un
proyecto