tkinter label(标签)无法显示图片(空白)解决方法

# -*- coding: utf-8 -*-
"""
@author: 奋斗中的打工人
"""
from tkinter import *
from PIL import ImageTk
from PIL import Image as imim


class Test(Tk):
    def __init__(self):
        # 继承父类的构造方法
        super().__init__()
        img_open = imim.open("/Users/Desktop/fm.jpg")  # 打开图片
        img_png = ImageTk.PhotoImage(img_open)
        self.label_img = Label(self, image=img_png)  # 定义label

        self.label_img.pack()
        self.geometry("800x600")


a = Test()
a.mainloop()

运行结果如下图所示:

tkinter label(标签)无法显示图片(空白)解决方法_第1张图片

修改之后,加上

self.label_img.image = img_png

修改后的代码:

# -*- coding: utf-8 -*-
"""
@author: 奋斗中的打工人
"""
from tkinter import *
from PIL import ImageTk
from PIL import Image as imim


class Test(Tk):
    def __init__(self):
        # 继承父类的构造方法
        super().__init__()
        img_open = imim.open("/Users/Desktop/fm.jpg")  # 打开图片
        img_png = ImageTk.PhotoImage(img_open)
        self.label_img = Label(self, image=img_png)  # 定义label
        self.label_img.image = img_png  # 要重新进行赋值
        self.label_img.pack()
        self.geometry("800x600")


a = Test()
a.mainloop()

运行结果如下图所示:

tkinter label(标签)无法显示图片(空白)解决方法_第2张图片

图片显示正常。 

你可能感兴趣的:(python,开发语言)