Tkinter背景图片

时间:2019-11-05 23:01:55

标签: python tkinter

我正试图使这张照片出现在我的窗口的背景中。它仅在屏幕底部显示文本,没有图像。请帮忙。

编辑:由于某种原因,我的代码未格式化

import tkinter as ttk
from datetime import datetime

root = ttk.Tk()
root.geometry("800x600")

# -------------get date information---------- #

now = datetime.now()
dt_string = now.strftime("%m/%y")

# ------------build window ------------------#
background_image = ttk.PhotoImage("D:\\Programing\\BG_sky1.png")
backgrond_label = ttk.Label(root, image=background_image)
backgrond_label.pack(side='top', fill='both', expand='yes')

w = ttk.Label(root, text=dt_string)
w.pack()

root.mainloop()

2 个答案:

答案 0 :(得分:0)

Tkinter 8.5不支持PNG图像,但是如果您将python / Tkinter升级到8.6,则它应该支持PNG图像。您也可以通过将PNG图片转换为JPG

答案 1 :(得分:0)

您可以使用PIL模块打开png图片,这应该可以:

import tkinter as ttk
from datetime import datetime
from PIL import Image, ImageTk


root = ttk.Tk()
root.geometry("800x600")

# -------------get date information---------- #

now = datetime.now()
dt_string = now.strftime("%m/%y")

# ------------build window ------------------#

picture = Image.open("D:\\Programing\\BG_sky1.png")
background_image = ImageTk.PhotoImage(image=picture)

backgrond_label = ttk.Label(root, image=background_image)
backgrond_label.pack(side='top', fill='both', expand='yes')

w = ttk.Label(root, text=dt_string)
w.pack()

root.mainloop()