← 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 = "iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAAAsTAAALEwEAmpwYAAAM3klEQVR4nO2dC3BU1RnHabVqO+3YOr7a2qljO46Ote3UmYoVElDIbjbZ7G42m3dCePtANHRqIqABFELkZXgEEEPCI0BVHFRaH1ihtj5QMW8gIeERICE8krCb3fvYe/frdxKwIAF27717z97N+c/8Jskw2fOd7/8/Z8+9uxuGDGFiYmJiYmJiYmIygl4HuKaKg7s28xC/iYOnqngo3CTA/CoBlm/ioQK/fx2/rsafFyMv4r8X4NexG0V4uArgZtr1M4UoNPruKhEmo6mb0cx6hEeTQSn4+2fwsT7DUJRu5MFWAfBT2nNkukC4wq9bz4MdzVmHHEUgnGzgQNrIwVdIMQbk97TnP2hVKcB9aMb8DTx0biDGUGI9B40YwIINvfBz2j2JepHn83UCZK7joG49aX4EgTVJGIYtlWxX0F6rAX5Q6YNcZD82GiIdrHNHhReG0u5bVGgdHrywoYcqSWMNRoUPtlVwcCftHhpSr3rhjgqf/EaFLwBGZq1X9lV45VmlANfT7qkhVATw/bU+KCjHxq0lDYwWvPJ+3BEept3fiFa5G25B498r9wYgKumV/Ti/WSTktHsdcSr3QeyaXvn4a9ioaGeNV/6oohdup93ziNGrHpi22iNLr/YGYLCA8z26xjPILxkB4HvYiFmrSUMGIat65e5Vboih7QMVkZs6Kz3ymlV9jRjEeGR+pRtSaPuhq/AQdG2ZR9620hMARgDK3LK00gNZtH3RRWTbX+GRy8vIxBnfssItiyt7wULbn7BruVtesMJNJqwva3C73Ygn8K1cALbzAO8JAB8gO5B38efKXv1ruoSzsm+pO4rvFSw7C9OW40T1gBj+Jpq9QwT4UgaoDlwdEooVOtV3eeTTGIJ7aHuluZZ1w4ilPbK07GwAwkUZNvB1XwB2ounfBGH4gCHA3SCcNQYD9qmp5BT8hLZnmqnMA7cu7ZHal56VIRzgIQq28YGgV/rVKO8NT52hUHpW3kTbN01Ebnsu6ZY/fKVHBq0pRcg2/7VGxp/nbXzMcNQbKku6pTza/qnW4h6pcAmZjMasxVX6H7+2xp/nfSGgeb1KwN55F56Fu2l7qFgLuuDXi3ASi/smow2kMW/hCg2H8efZjk8nWtashkU98g7aPirWom75XQS0Ag9H8LEYXvMJ6/AKQsu61YI7QSptL0PWy91+x0IsXiuW48Ho0zBt+RfybxxDy7q1QeqY3wU30vY0aOHB77qXz0iHF3TJoAVlaP7nUvjN/wzHWN6jTc1hoIS2r0ELzZ/4MhatBWTbD6f5exCys2z19W/7WtWtNSVdUu9cN9xC29urirzKN/+M1FxyBotWyWKc+H812vbJFcPbaPJ68gIM7ihL8LEXdqmvUWfm0Pb3qirukrLnY7FqIRP+l6DuwEd2jje8AVjarb6eiOC01LOkO4I/mkZe6Zt7WmqYh8WqhdzSVWr8bjR+I57k52tQR6Qxt0sqpO3zZTXvjPgQBgDUUobP+0rN34bBKTmjvoZI5aXT/gNkodH2ekBhcWUv9RWpHDLJT/yhr37yOsAat6xqbKNAFhptry8RufSbc9J/+sVTEqihqjf01f8Fbvmv4PO82rGNAva5jLbfl2h2p985hxSngmJM91chvrBDDnoLu9SNazRmn/R3lTZH2CeNZp30b5h9khSnnM0hrn6y7ZNLRbXjGpGiTn8cbc8vEhZ0bBYWphSyte0O4YYPecPHKryeVzOmsfEX0/b8WxWdgnuKOkkqlVN+NrTV/xZe36sd08i80Cntpu37t5rRKT3+PBalhg/54E/+5Hl/zkl14xmeE36pKFJuCs3s9G+ZiUUphVz6hfIevrV4uadmvGhheoffStv7Pk0/4d8744QESgll+yern6wANeNFC9M7pOdoez/EBXANBoCfTgpSyDsh3PbdiKtfzVjRhb+Stv9DCjvht891SKAUTHHfjZxgT/5zTyofK9oobJc+p+3/kIIOf0Jhhx+UMuekP+jVv0sMKB4nOhG7aPs/pOC4+FRBux+UsuSMFHQAtnhkxeNEK/ltcBPVADzbLj7/LBailNdCOACWdUuKx4lWCjq4O6kG4G/t/hIElFLlDj4AxackxeNEKwUnhPupBuCvx/1lCCiFbOvBBmBmh/JxopVpx8S/UA1A/jFx/TRSiELe7A3+EpBseWrGilJMdANwVPx7/jE8jChka5AB2CMDpl35ONHKM8f9NqoBePqof+0zpBCFVAZ5CCSXgGrGiVamHvM/SjUAU9v8pRgCUMrsE8G9DlDZIyseI5rJbxP/TDUAT7X5507FQtSw+SpXAp/g6icHHrXjRCNPH+LvpRqAKUfEQgwBqOHpcyEYaCfYwQdgeruk6vGjmqNwB9UAPNkmTJiChWjBCx0SVOBWT64MqvBssOBUv/FaPX608eQRUc5vgx9SDcATbWLMk20iMPTniSPiEarmE41vhdsePyICgwKHhQ9p+9+nyUeE7sewIIbeCMtoe9+nyYeFLyYfFoGhO1Noe9+niYeE5ZOwIIbOHBQfpO19nyYe5p0TD4nA0BPBXbQTrqXtfZ/Gt8FN4w8K8gQsjKEb79D2/SKNaxWrxx8UgaETrWI+bc8v0thWYcE4LIyhD3mtlN8I8l2NaREfGIuFMcJPXqvYSNvvAZXbKtaNaRWBEV5yW8QC2l4PqNwWviC3VQBG+Mhp4eW8A75f0fZ6QKXv8/4i5wAv5bSQQhlh4YDwEW2fr6isA8LWbCyUESYO8HbaHl9RmU3CH7Oa+QAGARjaknlAaDTEfzub0Sz8M7O/YIaGZLQI6bS9DUpZzeLQDFIwQ0tayCexaXsbtNKahe3pzQIwtCFtv5BG29OQlNbM/cbVxHOpWDxDHa7mCD/5X04p+/kiVxNOgKECXkhrovzOX6UyN8P1ziZhfwpOhKGM9C07m3KyJi2g7aViJTeJMcn7eMm5XwBGaKTsbndn502BnOxJYOwQ7ONnJuOEGMHjaPBI2fkv9Jt/HqOGgNy8cOzjP0CAERzpJWsgO2viJWRlTTBmCBwtnlvte/njdpwc48q4tuwa0HzDh8C2T7g/aR/XbcNJMgYm+f16yMp9DLIyJ1yZDMOGgBuR1MhxSXt5YFyMfddByBw79ermGz0E1kbeltDISYk4aUY/SZ8eg4yJ+ZCZMT4kMjLGGzMElgYuD0PgT2jkYbBjRfPTH38WDR2niIyMscYMgbmet8Y3cl4LNmGwkrjzIKRPmgYZ6eNUYtAQWBq9D2IQTsU38DDYsP6jDtLHPEHM0wpjhsDUKNxnbuD2m7Epg4Wkql2Qjpd06WljtSXVoCGIbYAfm+q5jSZsTjQTV+uRHCXlaFZe+EgdY8wQEMXV+3JH13PeuHpsVpRh+rTdnTJlBqSl5oWdVCOHYFQ9f++oOv7j0di0aGBUHSdY1n/UnIZbflrqGN3AEMyl7aUqja7hrdi8owgYlUdruV0jq4X7Ul25xQjoTkqOcXcColFfw40ja7mFI+t83kewoUYB621+pMZ30Zs4Xc7cYldKLuhNitFDQBT7tftmDMIspBuBSGVEra9hZI0vN/Yyn913ObMxBDmgN1ERAqJhdT0/i631zcRGHxzR13D6xNb4ZKzn45hqryOY9+07MQQpTjRFb5KjJATnNbLO+0Bsta80poY7FVtDjNAb397Yam7WsDrurlBr7w9BNuhOclZ0hYAo9hDcEFPLx8dUcwuQPTHVPhlDAZpT7XPH1Pi2I9Me/kb4g9q6nY7MYmdyFuhNcjSG4EINbei5aVi1146GzUDjNgyv4b4cXuPrCc1srg1/ZweyIqaGnxqzx/fQ5Z7X1YiFQEeRgyTZrofX9v4pptY3nOwaw2q9KbHfcKOG1XgfjK0Rfodb+p1DP9P3z686MATJjkzQHXvG4AtBpIqFgGmIw5Ze7LBngN7YWQgiR3Z72mKHPR30xm5PL6I9d6ZzsuFOYLehKfoSwBBk0J470znZbamL7bY00BNbUprHZXHdTnvuTOeEhsxDQF9SI+MvkDP1y5bkwhCkgn64emNjx9xAe95MF8hqTV2UZE0FvbBaXWbac2b6jhITXfOsiS7QAxyrkPZ8mQZQYqITQ5ACYSchpZT2XJkuo0SLc15iQgqEFYvzFdrzZLqC+kPghHCRkOCMzL9FzPR/WTAECRY0Kwwkmp1xtOfHFIQsFgeGIBm0xdFrNpuvpz03piBlMTvmWeIdoBlmB3v+N5rQtEVamB9vdritVutttOfDpEBms21evNkOKgjEx9uM9ddImS5WvMlWrNh8k/052vUzaSCTyZZjikvymU02CI4kj8lkT6VdN5OGSkhI+KXJlLT6SkEwxdm8+HWZxWJhL/9GqxITE39kHm2z4q7wvDnOtpwYTr6PH22Pd7lcur7xlYmJiYmJiYmJyaD6HynKMa5WAh67AAAAAElFTkSuQmCC"
image = tk.PhotoImage(data=b64decode(raw_image))
label = ttk.Label(image=image)
label.pack()
root.mainloop()



tkinter aplicaciones-de-escritorio


🐍 También te puede interesar:


💬 ¿Alguna duda sobre este código? ¡Preguntanos en el foro!

❤️ ¿Te gusta nuestro contenido? ¡Ayudanos a seguir creciendo con una donación!