【发布时间】:2020-10-07 08:37:21
【问题描述】:
我正在尝试为我的 tkinter 窗口设置背景图像,但是我不太清楚如何调整它的大小以使其适合窗口的尺寸。我在网上看过,所有的教程/答案都使用包(扩展和填充),但我不能使用包,因为我有一堆其他按钮/标签都使用网格(这是一个最小的可行示例,我的实际脚本更大,按钮更多/更大)。有没有办法使用网格来做到这一点?
这是我目前的设置:
import tkinter as tk
from PIL import ImageTk, Image
root = tk.Tk()
background_image = ImageTk.PhotoImage(Image.open("pretty.jpg"))
l=tk.Label(image=background_image)
l.grid()
tk.Label(root, text="Some File").grid(row=0)
e1 = tk.Entry(root)
e1.grid(row=0, column=1)
tk.mainloop()
【问题讨论】:
-
pack和grid甚至place都不会调整图像大小。您可以将图像设置为适当的大小。 -
如果你想让图像出现在所有东西的后面,你需要给它
rowspan/columnspan选项,使它覆盖其他小部件使用的每一行/列。按照您现在的方式,条目 不能 与图像重叠,因为它们位于不同的列中。 -
您可以使用
place()。 -
这能回答你的问题吗? what-does-weight-do-in-tkinter
-
@jasonharper 如果我展开我的 tkinter 窗口(即单击展开按钮),这将不起作用,我希望图像“适合”/“填充”窗口尺寸,即使它们改变