我有一个图像路径数组和一个函数,找到连接到我想要显示图像的按钮的路径
我已经尝试过添加
file_path = photo.name
img = Image.open(file_path)
photo_image = ImageTk.PhotoImage(img)
tk.Label(window, image=photo_image).pack(side=tk.TOP)
我的功能,但照片最终太大,我希望图片放在按钮的正上方,所以我知道我希望图片的确切x-y坐标我只需要一种方法让它们在那里,并使它们更小
要调整图像大小,请传递一个像素大小的元组:
img = Image.open("1.bmp").resize((640, 480))
要将图像放在按钮上方,您可以使用位置。
tk.Label(root, image=photo_image).place(x=0,y=0) #change x and y to your desired value
您还可以获取按钮小部件的当前位置,以计算您需要place
标签的确切位置:
x,y = widget.winfo_x(), widget.winfo_y()
把它们加起来:
import tkinter as tk
from PIL import Image, ImageTk
root = tk.Tk()
root.geometry("500x500")
def place_image():
x, y = button1.winfo_x(), button1.winfo_y()
tk.Label(root, image=photo_image).place(x=x,y=y+20)
button1 = tk.Button(root,text="Click me",command=place_image)
button1.pack()
img = Image.open("1.bmp").resize((400, 300))
photo_image = ImageTk.PhotoImage(img)
root.mainloop()