Фоновое изображение Ткинтер - PullRequest
0 голосов
/ 06 ноября 2019

Я пытаюсь, чтобы эта фотография появилась на заднем плане моего окна. Это просто показывает текст в нижней части экрана, и нет изображения. Пожалуйста, помогите.

edit: по какой-то причине мой код не отформатирован

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 голосов
/ 06 ноября 2019

Вы можете открывать изображения png с помощью модуля PIL, поэтому это должно работать:

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()
0 голосов
/ 06 ноября 2019

Ну, Tkinter 8.5 не поддерживает изображения PNG, однако, если вы обновите python / Tkinter до 8.6, он должен поддерживать изображения PNG. Вы также можете сделать что-то по-другому, превратив изображение PNG в JPG

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...