python-3.x - 如何在画布中获取当前文件的名称
问题描述
我在 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
我能怎么做?谢谢你!
解决方案
但是无法通过反向过程获取文件名?
例子:
print(PhotoImage(name="pyimage1"))
返回 > a.gif
推荐阅读
- python - Dash - 回调 - 从按钮启动脚本
- python - 将分类列转换为附加列
- html - 在 Angular 应用程序中获取选定的文本
- vue.js - 禁用 Vue devserver 中文件夹的热重载
- c++ - Qt 6.2:QMediaPlayer 和 QByteArray
- python - python 3中生日悖论的蒙特卡罗模拟
- spring-boot - Apache Tiles 无法在 Weblogic Server 14c 上运行
- reactjs - 如何在 redux 状态更新时自动刷新组件
- orchestration - 使用 SC Orchestrator 接收多个输出后,如何使活动仅运行一次?
- c# - dotnet 5 上的 IDispatchMessageInspector