Soutenez-nous

FAQ pythonConsultez toutes les FAQ

Nombre d'auteurs : 11, nombre de questions : 188, dernière mise à jour : 23 mai 2009  Ajouter une question

 

Cette FAQ a été réalisée à partir des questions posées sur le forum Python complétées par d'autres questions qui pouvaient nous sembler intéressantes de traiter. Toutefois il se peut que les réponses apportées contiennent des erreurs, imprécisions ... Vous pouvez dans ce cas contacter un des membres de la rédaction pour lui faire part de vos remarques.

L'équipe Python de Developpez.


SommaireGUITkinter / Tix / PmwTkinterCanvas (3)
précédent sommaire suivant
 

Code python :



canvas.delete(Tk.ALL)

Mis à jour le 28 mai 2005 Guigui_

Pour afficher une image autre que GIF ou PPM, il vous faudra passer par la bibliothèque PIL qui est capable de lire tout type d'images.
Avec la fonction ImageTk.PhotoImage, vous créerez une image compatible Tkinter que vous pourrez afficher dans un Canvas par la méthode create_image(position, **options)position réprésente les 2 coordonnées du coin en haut à gauche de l'image sachant que l'image sera aussi positionnée par rapport au paramètre anchor qui par défaut vaut CENTER. Donc pour que l'image soit positionnée en haut à gauche du Canvas, vous devez utilisez la position 0, 0 et rajouter le paramètre anchor = Tk.NW. Enfin le paramètre image représente l'image que vous voulez insérer.
Le Canvas ne s'adapte pas par défaut à la place que prennent les éléments que vous dessiner dedans. Donc si l'image que vous insérez est trop grande, vous pouvez vous assurer qu'elle sera entièrement visible en renseignant les paramètres width et height à la création du Canvas

Code python :



1
2
3
4
5
6
7
8
9
10
11
from PIL import Image, ImageTk  
import  Tkinter as Tk  
root = Tk.Tk()  
  
image = Image.open("lenna.jpg")  
photo = ImageTk.PhotoImage(image)  
  
canvas = Tk.Canvas(root, width = image.size[0], height = image.size[1])  
canvas.create_image(0,0, anchor = Tk.NW, image=photo) 
canvas.pack()  
root.mainloop()

Mis à jour le 24 octobre 2006 Guigui_

Comment afficher une image sur un Widget ?

Pour modifier la couleur d'un item d'un Canvas, il faut tout d'abord que celui-ci supporte l'attribut fill. Ensuite vous pouvez modifier cette attribut par la méthode canvas.itemconfigure(item, fill = NewColor)item réprésente l'identifiant de l'item à modifier et NewColor la nouvelle couleur.

Code python :



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
import Tkinter as Tk 
  
root = Tk.Tk() 
  
canvas = Tk.Canvas(root, height=100, width=200) 
canvas.pack() 
oval = canvas.create_oval(20,20,70,70,width=2,fill='red') 
rect = canvas.create_rectangle(90,20,140,70,width=2,fill='green') 
poly = canvas.create_polygon([160,45,175,20,190,45,175,70 ], width =2, fill = 'blue') 
def ColorChange(): 
    canvas.itemconfigure(oval, fill = "blue") 
    canvas.itemconfigure(rect, fill = "#67A12B") 
    canvas.itemconfigure(poly, fill = "#001020") 
  
btn = Tk.Button(root, text = "Changer la couleur des objets", command = ColorChange) 
btn.pack() 
root.mainloop()

Mis à jour le 21 novembre 2006 Guigui_

Proposer une nouvelle question/réponse à la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2014 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
 
 
 
Partenaires

PlanetHoster
Ikoula