Как мне добавить фоновый рисунок на tkinter в окне верхнего уровня? - PullRequest
0 голосов
/ 14 марта 2019

Я нашел этот код для фона изображения, который отлично работал в моем главном окне:

C = Canvas(window, bg="blue", height=250, width=300)
filename = PhotoImage(file = "C:\\file_address\\background.png")
background_label = Label(window, image=filename)
background_label.place(x=0, y=0, relwidth=1, relheight=1)

C.grid(row=0, column=0, rowspan=5, columnspan=3)

Однако, когда я использовал его в окне Toplevel (), оно вообще не показывалось - у меня остался серый фон. Единственный способ показать это, когда я использовал C.pack (), но тогда все мои виджеты не показывались. Я пытался поиграть с C.lift () и C.lower (), но ни один из них не работал так, как я хотел.

1 Ответ

0 голосов
/ 14 марта 2019

У мусора есть ссылка на изображение

C = Canvas(window, bg="blue", height=250, width=300)
filename = PhotoImage(file = "C:\\file_address\\background.png")
background_label = Label(window, image=filename)
background_label.place(x=0, y=0, relwidth=1, relheight=1)

background_label.image = filename # reference to the image
C.grid(row=0, column=0, rowspan=5, columnspan=3)

, которое позволяет отображать изображение при открытии toplevel window

...