我想在Tkinter文本小部件中创建png格式的图像

问题描述

我想在Tkinter文本小部件中创建png格式的图像。当我运行代码时,它可以工作,但只显示白色图像。我该怎么办?

elif int(w4_toc1.selection()[0]) == 21:
w4_tex_title.insert('end',doc.paragraphs[57].text)
w4_tex_title.insert('end','\n'+'\n'+'\n'+doc.paragraphs[58].text)
for i in range(59,62):
    w4_testrong textx_title.insert('end','\n'+'\n'+doc.paragraphs[i].text)`enter code here`
from PIL import Image,ImageTk
dimension_table = Image.open('icons\coordinate.png')
dt = ImageTk.PhotoImage(dimension_table)
w4_tex_title.image_create('end+2 lines',align=CENTER,image=dt)

解决方法

您需要保留对图像的引用,否则python的垃圾收集器将扫描图像。

dt = ImageTk.PhotoImage(dimension_table)
w4_tex_title.image = dt #Keeping Reference to the Image
w4_tex_title.image_create('end+2 lines',align=CENTER,image=dt)