Image in Tkinter Label?
51,822
Solution 1
For debugging purpose try to avoid the use of PIL and load some *.gif (or another acceptable) file directly in PhotoImage, like shown below, if it'll work for you then just convert your image in *.gif or try to deal with PIL.
from tkinter import *
def make_label(parent, img):
label = Label(parent, image=img)
label.pack()
if __name__ == '__main__':
root = Tk()
frame = Frame(root, width=400, height=600, background='white')
frame.pack_propagate(0)
frame.pack()
img = PhotoImage(file='logo.gif')
make_label(frame, img)
root.mainloop()
Solution 2
img = Image.open('image_name')
self.tkimage = ImageTk.PhotoImage(img)
Label(self,image = self.tkimage).place(x=0, y=0, relwidth=1, relheight=1)
Author by
Shivamshaz
Updated on February 09, 2020Comments
-
Shivamshaz about 4 years
I am new to python GUI programming, I want to add a image in my tkinter label, I have created the following code but the window is not showing my image. Path of image is the same folder as this code.
import ImageTk import Tkinter as tk from Tkinter import * from PIL import Image def make_label(master, x, y, w, h, img, *args, **kwargs): f = Frame(master, height = h, width = w) f.pack_propagate(0) f.place(x = x, y = y) label = Label(f, image = img, *args, **kwargs) label.pack(fill = BOTH, expand = 1) return label if __name__ == '__main__': root = tk.Tk() frame = tk.Frame(root, width=400, height=600, background='white') frame.pack_propagate(0) frame.pack() img = ImageTk.PhotoImage(Image.open('logo.png')) make_label(root, 0, 0, 400, 100, img) root.mainloop()