Python y Tkinter – Tamaño de ventana y pantalla

Hoy te enseñaré a obtener el tamaño de la ventana de Tkinter al programar con Python. También te mostraré cómo obtener el tamaño de la pantalla del usuario.

En resumen vamos a ver cómo obtener el ancho y el alto de la ventana de Tkinter y de la pantalla o del escritorio de la computadora; todo esto usando Python.

Medidas de ventana en Tkinter

Para obtener el ancho invocamos a winfo_reqwidth, para el alto podemos usar winfo_reqheight. Lo importante aquí es que para tener una medida confiable debemos invocar a update antes que a los otros métodos.

En el ejemplo que te mostraré al final verás de lo que hablo.

Obtener ancho y alto de pantalla

De igual modo podemos obtener las medidas de la pantalla. Para ello invocamos a winfo_screenheight en el caso de la altura, y para el ancho o anchura invocamos a winfo_screenwidth.

Ejemplo

A continuación te muestro un ejemplo simple de Python con Tkinter en donde mostramos una ventana e imprimimos las medidas de la misma así como la medida de la pantalla.

En este caso estoy invocando a una función pasándole el root o raíz, pero tú puedes invocar a los métodos desde cualquier lugar.

def imprimir_informacion(r):
    altura = r.winfo_reqheight()
    anchura = r.winfo_reqwidth()
    altura_pantalla = r.winfo_screenheight()
    anchura_pantalla = r.winfo_screenwidth()
    print(f"Altura: {altura}\nAnchura: {anchura}\nAltura de pantalla: {altura_pantalla}\nAnchura de pantalla: {anchura_pantalla}")

Antes de invocar a esta función ya he llamado a update:

raiz = tk.Tk()
raiz.etiqueta = tk.Label(
    raiz, text="Hola Tkinter!\nProgramando en Python\nparzibyte.me"*5)
raiz.etiqueta.pack(side="top")
app = tk.Frame()
app.pack()
raiz.update()
imprimir_informacion(raiz)
app.mainloop()

Fíjate en que dentro de la línea 7 estoy invocando a update, para imprimir la información en la línea 8. De ese modo obtenemos la altura y anchura de manera confiable.

El código completo queda así:

import tkinter as tk

def imprimir_informacion(r):
    altura = r.winfo_reqheight()
    anchura = r.winfo_reqwidth()
    altura_pantalla = r.winfo_screenheight()
    anchura_pantalla = r.winfo_screenwidth()
    print(f"Altura: {altura}\nAnchura: {anchura}\nAltura de pantalla: {altura_pantalla}\nAnchura de pantalla: {anchura_pantalla}")


raiz = tk.Tk()
raiz.etiqueta = tk.Label(
    raiz, text="Hola Tkinter!\nProgramando en Python\nparzibyte.me"*5)
raiz.etiqueta.pack(side="top")
app = tk.Frame()
app.pack()
raiz.update()
imprimir_informacion(raiz)
app.mainloop()

Finalmente te dejo con más tutoriales de Python por aquí.

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

No te pierdas ninguno de mis posts 🚀🔔

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.

Dejar un comentario

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