我正试图使这张照片出现在我的窗口的背景中。它仅在屏幕底部显示文本,没有图像。请帮忙。
编辑:由于某种原因,我的代码未格式化
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()
答案 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()