Image dans une fenêtre

cr03
Messages postés
3
Date d'inscription
samedi 21 juin 2014
Statut
Membre
Dernière intervention
22 juin 2014
- 21 juin 2014 à 18:02
Mints
Messages postés
69
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
1 juin 2018
- 26 juin 2014 à 09:59
Bonjour,
Je suis actuellement entrain de crée un programme sur python et j'aimerai mettre une image dans mes fenêtres ,
Si quelqu'un peut m'expliquer comme faire ,
Merci :)

3 réponses

Mints
Messages postés
69
Date d'inscription
mercredi 1 novembre 2000
Statut
Membre
Dernière intervention
1 juin 2018
7
21 juin 2014 à 21:00
Salut, si tu utilise tkinter, tu peux mettre une image dans tous les widgets qui en acceptent une en option comme un 'Label' par exemple, mais tu ne pourra pas la mettre directement dans ta fenêtre principale ni même dans une frame sans passer par la création d'un caneva (canvas) aux même dimensions.

D'abord il faut charger l'image qui, si elle est au format GIF s'importera comme ça :
imageTk = PhotoImage(file="nom_du_fichier_image")
Pour tout autre format(JPG) il te faudra importer le module PIL(pas sûr qu'il soit présent dans les versions 2 de python)

et puis faire :
image = Image.open("nom_du_fichier_image")
imageTk = ImageTk.PhotoImage(image)

Ensuite il faut créer le caneva:
caneva = Canvas(fenetre,width=largeurFenetre,height=hauteurFenetre,bg=couleurFond) par ex.(y'a d'autre options)
caneva.pack()

Il te faudra ensuite faire appel à la méthode du caneva pour dessiner(bliter) l'image dedans:

idTkImage = caneva.create_image(coordX,coordY,image=imageTk)
fenetre.update()

tu peux aussi choisir le point d'encrage(par defaut coin sup gauche) et l'état(visible ou pas) sachant que tout ceci reste modifiable grâce à une méthode du caneva:
caneva.itemconfigure(idTkImage,image=nouvelle_image) par ex.
si tu veux déplacer l'image:
caneva.coords(idTkImage,nvlleCoordX,nvlleCoordY)


En espérant avoir été clair...

A disposition.Mints






--
2
cr03
Messages postés
3
Date d'inscription
samedi 21 juin 2014
Statut
Membre
Dernière intervention
22 juin 2014

Modifié par cr03 le 21/06/2014 à 23:03
Bonjour, merci beaucoup de m'avoir répondu ,
Je suis au début de l'apprentissage de Python donc excusez moi si je pose de drôle de questions ,

def fen_B() :

imageTk=PhotoImage(file="logo-mondial-2014.gif")
image = Image.open("logo-mondial-2014.gif")
imageTk = ImageTk.PhotoImage(image)
cavena=cavenas(Mafenetre_B, anchor=W, width=800, height=300, bg="yellow")
caneva.pack()
idTkImage=cavena_image(800, 300, image=imageTk)
fenetre.update()

Mafenetre_B=Tk()
Mafenetre_B.geometry("800x300")
Mafenetre_B.title('Groupe B')
cavena=cavenas(Mafenetre_B, width=800, height=300, bg="yellow")
caneva.pack()
idTkImage=cavena_image(800, 300, image=imageTk)
fenetre.update()
ent=Label(Mafenetre_B, anchor=W, text='Match Date et Heure Equipe 1 Equipe 2 Resultat',bg="cyan",height=2,width=200)
ent2=Label(Mafenetre_B, anchor=W, text='B1 13 juin, 21h0 Espagne Hollande '+match_B1() ,bg="yellow",height=2,width=200)
ent3=Label(Mafenetre_B, anchor=W, text='B2 13 juin, 23h0 Chili Australie '+match_B2() ,bg="yellow",height=2,width=200)
ent4=Label(Mafenetre_B, anchor=W, text='B3 18 juin, 18h00 Australie Hollande '+match_B3() ,bg="yellow",height=2,width=200)
ent5=Label(Mafenetre_B, anchor=W, text='B4 18 juin, 21h00 Espagne Chili '+match_B4() ,bg="yellow",height=2,width=200)
ent6=Label(Mafenetre_B, anchor=W, text='B5 23 juin, 18h00 Australie Espagne '+match_B5() ,bg="yellow",height=2,width=200)
ent7=Label(Mafenetre_B, anchor=W, text='B6 23 juin, 18h00 Hollande Chili '+match_B6() ,bg="yellow",height=2,width=200)
ent.pack(side=TOP)
ent2.pack(side=TOP)
ent3.pack(side=TOP)
ent4.pack(side=TOP)
ent5.pack(side=TOP)
ent6.pack(side=TOP)
ent7.pack(side=TOP)

J'ai crée cette fenêtre elle marche bien je n'ai pas tout mit la , j'ai essayé votre méthode mais je ne pense pas avoir compris l'idée :/
0