← Volver

Cómo insertar una imagen en Tk (tkinter)

Una imagen puede cargarse desde el disco y mostrarse en una etiqueta (tk.Label o ttk.Label) usando la clase tk.PhotoImage:

import tkinter as tk
from tkinter import ttk

root = tk.Tk()
root.title("Imagen en Tk")
root.geometry("400x300")
# Cargar imagen del disco.
image = tk.PhotoImage(file="imagen.png")
# Insertarla en una etiqueta.
label = ttk.Label(image=image)
label.pack()
root.mainloop()



El archivo imagen.png debe estar en la misma carpeta que el código en cuestión. Este otro código no requiere de ningún archivo extra porque incluye los datos de la imagen codificados vía base64 dentro de una variable:

import tkinter as tk
from tkinter import ttk
from base64 import b64decode

root = tk.Tk()
root.title("Imagen en Tk")
root.geometry("400x300")
# Cargar imagen desde memoria.
raw_image = "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"
image = tk.PhotoImage(data=b64decode(raw_image))
label = ttk.Label(image=image)
label.pack()
root.mainloop()



tkinter aplicaciones-de-escritorio


👨‍💻 ¡Ya lanzamos el curso oficial de Recursos Python en Udemy! Un curso moderno para aprender Python desde cero con programación orientada a objetos, SQL y tkinter en 2024.

🐍 También te puede interesar:


💡 Ofrecemos servicios profesionales de desarrollo y capacitación en Python a personas y empresas. Consultanos por tu proyecto.