FAQ PythonConsultez toutes les FAQ

Nombre d'auteurs : 11, nombre de questions : 188, dernière mise à jour : 2 septembre 2018 

 
OuvrirSommaireGUITkinter / Tix / PmwTkinterCanvas
 
Sélectionnez

canvas.delete(Tk.ALL)
Créé le 28 mai 2005  par 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

 
Sélectionnez

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()
Créé le 24 octobre 2006  par Guigui_

Lien : 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.

 
Sélectionnez

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()
Créé le 21 novembre 2006  par Guigui_
  

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 © 2005-2009 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site ni 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.