首页 > 解决方案 > 从 Panel Tkinter 获取图像属性

问题描述

假设我有这个面板:

panel = ttk.Label(window,image = image1)

我想知道他在他的内心储存了什么样的形象。有没有办法得到这个?

标签: pythontkinter

解决方案


最简单的解决方案是将图像对象附加到标签小部件。

panel = ttk.Label(window, image=image1)
panel.image = image1

这解决了两个问题。一方面,它保留了对图像的引用,这样它就不会被 python 的垃圾收集器破坏。另一方面,只要您有对图像的引用,您就可以引用图像对象本身。如果您有对图像的引用,则可以使用以下cget方法获取文件名:

print(f"filename: {panel.image.cget('file')}")

推荐阅读