【问题标题】:How to set the Background image for window in Tkinter如何在 Tkinter 中设置窗口的背景图像
【发布时间】:2013-11-26 09:02:02
【问题描述】:

我想为 Tkinter 窗口设置背景图片,我已经创建了一个根窗口

import Tkinter
root=Tkinter.Tk()

如何设置“根”窗口的背景图片?

我们可以将任何类型的图像设置为背景(.png 或 .mpeg)吗?

如果图像不是窗口大小,如何使该图像适合整个窗口?

感谢您的帮助!

【问题讨论】:

    标签: python python-2.7 user-interface tkinter


    【解决方案1】:

    您可能希望创建一个Tk.PhotoImage 实例并将标签的图像属性设置为该PhotoImage。创建的任何其他小部件应使用placegrid 方法手动定位,以使它们位于图像标签上方。要调整图像大小以适应窗口,您可能需要使用 PIL 的 Image.resize() 函数。

    【讨论】:

    • 给标签设置背景图片,我们可以在创建的时候设置它的image属性,但是TK()没有那个属性吗?
    • 图片属性属于标签。
    • 但是,我想设置窗口的背景图片
    • @Raj 标签将与窗口一样大。
    • @Ramachandra 谢谢,但是我们不能把背景放到原始根窗口本身吗?这是 Tkinter 中缺少的功能吗?
    【解决方案2】:

    不知道frame有没有图片参数,但是在这里找到了满意的答案:

    https://www.daniweb.com/programming/software-development/threads/491009/set-an-image-as-a-tkinter-window-background

    这是代码:

    from Tkinter import *
    root = Tk()
    photo = PhotoImage(file = "bg.gif")
    w = Label(root, image=photo)
    w.pack()
    ent = Entry(root)
    ent.pack()
    ent.focus_set() 
    root.mainloop()
    

    【讨论】:

    • “我不知道框架是否有图像参数,” - 不,它没有。