Python 用Tkinter显示不同的图像
我在尝试使用Tkinter显示图像时遇到问题。我在一个名为filename1、filename2和filename3的文件夹中有3个文件。我想用两个不同的按钮来显示它们。filename1应该在不单击按钮的情况下显示,然后通过单击其他按钮显示filename2和filename3。然而,这不起作用 结果是,只有filename3正在加载,而所有按钮都不起作用。我不知道为什么会这样。这是我尝试过的代码:Python 用Tkinter显示不同的图像,python,image,tkinter,Python,Image,Tkinter,我在尝试使用Tkinter显示图像时遇到问题。我在一个名为filename1、filename2和filename3的文件夹中有3个文件。我想用两个不同的按钮来显示它们。filename1应该在不单击按钮的情况下显示,然后通过单击其他按钮显示filename2和filename3。然而,这不起作用 结果是,只有filename3正在加载,而所有按钮都不起作用。我不知道为什么会这样。这是我尝试过的代码: from tkinter import * from PIL import Image, Im
from tkinter import *
from PIL import Image, ImageTk
root = Tk()
root.geometry("1000x500")
root.resizable(width=True, height=True)
def open_img(name):
filepath = fr"C:\Users\me\Desktop\folder/{name}.jpg"
img = Image.open(filepath)
img = img.resize((1000, 500), Image.ANTIALIAS)
img = ImageTk.PhotoImage(img)
panel = Label(root, image=img)
panel.image = img
panel.grid(row = 2, column=1)
open_img(filename1)
btn1 = Button(root, text='open image1', command=open_img("filename2")).grid(row=3, column=1)
btn2 = Button(root, text='open image2', command=open_img("filename3")).grid(row=4, column=1)
root.mainloop()
这是结果,仅显示filename3。按钮坏了。我做错了什么
当您创建按钮时,您会运行该命令,因为您会以命令结尾
command=open_img("filename2")
要使用参数指定函数,可以使用lambda函数:
command=lambda: open_img("filename2")
您知道
btn1
和btn2
将始终是None
。欲了解更多信息,请阅读