如何在tkinter中将图像适合画布?

时间:2019-06-28 15:07:56

标签: python tkinter

我想使用tkinter将图片发布到画布上。我希望整个图像与画布窗口一起显示扩展/收缩。然后,我需要能够将按钮,标签和条目放在图片上方,任何人都可以帮忙吗?

试图使用.pack(side = both, expand = True),但随后我无法使用.grid()来指定我想在何处放置按钮等

class Example(Frame):
    def __init__(self, master, *pargs):
        Frame.__init__(self, master, *pargs)

        self.image = Image.open("Menu_Display.png")
        self.img_copy= self.image.copy()
        self.background_image = ImageTk.PhotoImage(self.image)
        self.background = Label(self, image=self.background_image)
        self.background.pack(fill = BOTH, expand = YES)
        self.background.bind('<Configure>', self._resize_image)

    def _resize_image(self,event):

        new_width = event.width
        new_height = event.height

        self.image = self.img_copy.resize((new_width, new_height))

        self.background_image = ImageTk.PhotoImage(self.image)
        self.background.configure(image =  self.background_image)

e = Example(root)
e.pack(fill = BOTH, expand = YES)

root.mainloop()

除了我无法在其上添加更多对象或指定其位置的事实之外,这非常有用

0 个答案:

没有答案