tkinter吧 关注:127贴子:364
  • 5回复贴,共1

小白的提问

只看楼主收藏回复

如何给窗体设置背景图片?就是想把组件放在被设置了背景图片的窗体上组件怎么布局


IP属地:江苏1楼2023-08-01 10:44回复
    tkinter的窗口不能直接设置背景图片,
    需要首先创建一个Canvas并加入背景图片,放在窗口上,
    然后创建其他的控件,再用place方法放置,
    这样新创建的控件会自动层叠在Canvas的上面,Canvas成为了最底层。
    代码:
    import tkinter as tk
    import tkinter.messagebox as msgbox
    from PIL import Image,ImageTk
    root=tk.Tk()
    root.title("窗体背景图")
    cv=tk.Canvas(root)
    cv.pack(expand=True,fill=tk.BOTH)
    # 调用windows自带图片
    pic=Image.open("C:\Windows\Web\Wallpaper\Theme1\\img1.jpg","r").resize((800,600))
    imtk=ImageTk.PhotoImage(pic)
    x,y=250,200
    root.geometry('%dx%d+%d+%d'%(pic.width,pic.height,x,y))
    cv.create_image(0,0,image=imtk,anchor=tk.NW)
    tk.Entry(root).place(x=400,y=340)
    tk.Entry(root).place(x=400,y=370)
    tk.Button(root,text="登录").place(x=400,y=400)
    root.mainloop()


    IP属地:浙江2楼2023-08-05 13:32
    收起回复