【发布时间】:2021-01-19 19:36:09
【问题描述】:
我有一个 tkinter 窗口,它构建了必要数量的按钮,相应地命名它们,然后显示相应的图像。我希望按钮在按下时打印与图像对应的正确文件名。我试过lambda,但这只会通过最后一个参数。我该怎么做?
images 是我正在使用的目录中的文件名列表。
def print_filename(i):
print(i)
window = Tk()
window.title('Test Window')
for i in images:
my_image = PhotoImage(master = window, file = i)
label = Label(window, image = my_image)
label.image=my_image
label.grid(row = 1, column = c)
b = Button(window, text=f'button {(c+1)}', command=lambda: print_filename(i))
b.grid(row=0, column=c)
c += 1
window.mainloop()
这是它运行时的样子:
该按钮应在按下时打印出图像的文件名。
例如:pdf_1.png
【问题讨论】:
-
试试
command=lambda i=i: print_filename(i)让我知道 -
做到了!谢谢!
标签: python image function button tkinter