Iniciación a los módulos y Tkinter  – 100 días de Python #8

Iniciación a los módulos y Tkinter – 100 días de Python #8

Ha llegado el momento de la iniciación a los módulos y a Tkinter de Python.

Ya sabes lo suficiente de Python como para embarcarte en la creación de aplicaciones gráficas. Así, la mayoría de los proyectos que hagamos a partir de ahora, dejarán de ser de consola, para convertirse en aplicaciones de escritorio con su interfaz gráfica.

Hay mucho de Python que aún no habrás aprendido, pero todo lo que vayamos necesitando, lo iré explicando. Así irás aprendiendo y creando a la vez.

Importar módulos en Python

Importar módulos nos va a permitir acceso a bibliotecas de código. Algunas integradas en Python y otras no.

Para realizar una importación de un módulo, solo tienes que utilizar la palabra reservada "import" y el nombre del módulo.

Importar Tkinter de Python

Python tiene una biblioteca muy conocida para crear interfaces gráficas. Se llama Tkinter. Así que lo primero que vamos a hacer, es importarla.

import tkinter

Con esto tan fácil de escribir, ya contamos en nuestro archivo de Python con todo el código que tiene esta biblioteca. Podremos emplearlo con solo nombrarlo.

Crear una ventana con Tkinter

Todo programa de interfaz gráfica cuenta al menos con una ventana. Eso es lo primero que tenemos que crear. En Tkinter se suele especificar esta ventana como "root" (raíz), aunque puedes llamarla de otra forma. Yo la voy a dejar como "root", ya que en la mayoría de código te la encontrarás así. De modo que identificarás más fácilmente la ventana principal.

Con esto, creamos la ventana, pero no se mantiene en ejecución, ya que el intérprete de Python, lee y ejecuta todo el código. Una vez hecho esto, finaliza al igual que pasaba con los programas de consola.

import tkinter

root = tkinter.Tk()

Bucle infinito para ventana Tkinter

Para solucionar esto, solo tienes que utilizar un bucle infinito que mantenga la ejecución del programa hasta que lo cerremos. Con Tkinter es tan fácil como hacer esto:

import tkinter

root = tkinter.Tk()
root.mainloop()

¿Has visto qué fácil ha sido? Ya tienes tu primera ventana creada. Por defecto, sale vacía con el icono de la pluma azul del logo de Tkinter y con el título tk.

¿Qué son los widgets?

Los widgets, son componentes para ir añadiendo más funcionalidades al programa.

El widget Label de Tkinter

El widget Label() de Tkinter, nos permitirá mostrar un texto en la ventana. Primero, se crea una variable para el elemento "Label".

Sus argumentos son, "root", que le indica en qué ventana mostrase (solo tenemos esa de momento) y "text" que le permite guardar un texto en forma de string.

Con el método "pack()", hacemos que se muestre el elemento en la ventana.

#Importaciones
import tkinter

#Creación de la ventana principal
root = tkinter.Tk()

#Creación de la etiqueta
mensaje = tkinter.Label(root, text="Mi primer programa con Tkinter.")
#Muestra la etiqueta
mensaje.pack()

#Bucle de ejecución
root.mainloop()

La línea "root.mainloop()" debe quedar abajo del todo para que funcione correctamente.

Diferentes formas de importar módulos en Python

Si te has fijado bien, cada vez que tenemos que invocar algún método de Tkinter, tenemos que estar repitiendo la palabra Tkinter. ¿No sería genial poder poner algo más corto?

Especificar un alias para los módulos de Python

Se puede poner un alias que cambie el nombre Tkinter en el programa. Este alias es libre. Pongamos por ejemplo "tk".

Ahora, todo lo que ponía Tkinter, ahora deberá poner tk o el alias que le hayas especificado.

#Importaciones
import tkinter as tk

#Creación de la ventana principal
root = tk.Tk()

#Creación de la etiqueta
mensaje = tk.Label(root, text="Mi primer programa con Tkinter.")
#Muestra la etiqueta
mensaje.pack()

#Bucle de ejecución
root.mainloop()

Sin embargo, ¿No sería genial acceder a los métodos de Tkinter como si fueran de Python? Se puede hacer también. Solo cambia la importación de antes por esta:

#Importaciones
from tkinter import *

#Creación de la ventana principal
root = Tk()

#Creación de la etiqueta
mensaje = Label(root, text="Mi primer programa con Tkinter.")
#Muestra la etiqueta
mensaje.pack()

#Bucle de ejecución
root.mainloop()

Principalmente, lo voy a utilizar así en el curso. Tú úsalo de la forma que te sea más clara y cómoda de escribir.

En este octavo día, no hay ejercicios ni proyecto debido a lo poco que hay explicado con Tkinter.

No te pierdas todo el contenido de Python aquí.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

curso de Python Entrada anterior Soluciones de ejercicios – 100 días de Python #7
curso de Python Entrada siguiente Tkinter – Ventanas – pack() y grid() – 100 días de Python #9