首页 > 解决方案 > 如何在画布中获取当前文件的名称

问题描述

我在 Python 3.7 中编写了这段代码

from tkinter import *
root = Tk()


import random
def cmd():
    print("Files:", img1.cget("file"), img2.cget("file"))

    img = random.choice([img1, img2])
    can.itemconfig(log, image=img)


    print("Choice:", can.itemcget(log, "image"))


img1 = PhotoImage(file="a.gif")
img2 = PhotoImage(file="b.gif")

can = Canvas(root, width=300, height=300, bg="white")
log = can.create_image(151, 151, image=None)
can.pack()

btt = Button(root, text="click", command=cmd)
btt.pack()


root.mainloop()

我想打印画布内配置的图像名称

print("Files:", img1.cget("file"), img2.cget("file"))

Result > Files: a.gif b.gif < Return Filename OK

print("Choice:", can.itemcget(log, "image"))

Result > Choice: pyimage1 Or Choice: pyimage2 < Return String No OK

我能怎么做?谢谢你!

标签: python-3.xtkinter

解决方案


但是无法通过反向过程获取文件名?

例子:

print(PhotoImage(name="pyimage1"))

返回 > a.gif


推荐阅读