太无聊了,写个有关于作者 Python Tkinter的标签显示图片踩坑知识点

TKinter这个库十分强大,它其中还包括了后期更新的一个tkinter.ttk库这期我们不说别的,我们就来说说这其中在标签中插入一张图片,并将其显示到界面上

以下是一段代码,他看似并没有什么问题

import tkinter as tk  
from tkinter import PhotoImage  
  
def create_image_label(root, image_path): 
    label = tk.Label(root, image=PhotoImage(file=image_path) )   
    label.image = img  

    label.pack()  
  
root = tk.Tk()  
root.title("Tkinter 图片显示")  
  
image_path = "./test.png"  # 替换为你的图片路径  
create_image_label(root, image_path)  
  
root.mainloop()

但其实问题很大,当我们执行后,界面上是空的,啥也没有

这个时候重点来了,抓重点,抓重点,重要事情说三遍,不要懒,不要懒

label = tk.Label(root, image=PhotoImage(file=image_path) )  # 错


img_obj = PhotoImage(file=image_path)  # 正确
label = tk.Label(root, image=img_obj)

如你所见,由于python的垃圾清理机制,他会误认为这是一个不要的变量,会把它清理掉,从而导致标签无法接收到图片数据

好了,又是解决问题的一天,拜拜

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值