Как использовать изображение для фона в tkinter?

#import statements
from Tkinter import *
import tkMessageBox
import tkFont
from PIL import ImageTk,Image

Код для импорта изображения:

app = Tk()
app.title("Welcome")
image2 =Image.open('C:\\Users\\adminp\\Desktop\\titlepage\\front.gif')
image1 = ImageTk.PhotoImage(image2)
w = image1.width()
h = image1.height()
app.geometry('%dx%d+0+0' % (w,h))
#app.configure(background='C:\\Usfront.png')
#app.configure(background = image1)

labelText = StringVar()
labelText.set("Welcome !!!!")
#labelText.fontsize('10')

label1 = Label(app, image=image1, textvariable=labelText,
               font=("Times New Roman", 24),
               justify=CENTER, height=4, fg="blue")
label1.pack()

app.mainloop()

Этот код не работает. Я хочу импортировать фоновое изображение.

Ответ 1

Один простой метод - использовать place для использования изображения в качестве фонового изображения. Это тот тип, который place действительно хорош.

Например:

background_image=tk.PhotoImage(...)
background_label = tk.Label(parent, image=background_image)
background_label.place(x=0, y=0, relwidth=1, relheight=1)

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

Примечание. Если вы делаете это внутри функции, убедитесь, что вы сохранили ссылку на изображение, иначе изображение будет уничтожено сборщиком мусора, когда функция вернется. Общей методикой является добавление ссылки в качестве атрибута объекта метки:

background_label.image = background_image

Ответ 2

Простой код tkinter для Python 3 для установки фонового изображения.

from tkinter import *
from tkinter import messagebox
top = Tk()

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

C.pack()
top.mainloop

Ответ 3

Йет Йет Йет Йет Йет Йет Йет Йет Йет Йет Йет Йет Йет Йет Йет Йет Йет Йет Йет Йет Йет Йет: Й как: Как: Йо: Йо: Йо, что, Йе, и, что, Йо, и, ни, как, что...