#import statements
from Tkinter import *
import tkMessageBox
import tkFont
from PIL import ImageTk,Image
Code pour importer l'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()
Ce code ne fonctionne pas. Je souhaite importer une image d'arrière-plan.
Une méthode simple consiste à utiliser place
pour utiliser une image comme image d'arrière-plan. C'est le genre de choses que place
est vraiment bon à faire.
Par exemple:
background_image=tk.PhotoImage(...)
background_label = tk.Label(parent, image=background_image)
background_label.place(x=0, y=0, relwidth=1, relheight=1)
Vous pouvez alors grid
ou pack
d'autres widgets dans le parent comme d'habitude. Assurez-vous simplement de créer d'abord l'étiquette d'arrière-plan afin qu'elle ait un ordre d'empilement inférieur.
Remarque: si vous faites cela à l'intérieur d'une fonction, assurez-vous de conserver une référence à l'image, sinon l'image sera détruite par le garbage collector lorsque la fonction reviendra. Une technique courante consiste à ajouter une référence en tant qu'attribut de l'objet étiquette:
background_label.image = background_image
Un code tkinter simple pour Python 3 pour définir l'image d'arrière-plan.
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