[Python] afficher une image dans un canevas
frizou11
-
sebsauvage Messages postés 33415 Statut Modérateur -
sebsauvage Messages postés 33415 Statut Modérateur -
Bonjour a tous
Voila mon probleme, je souhaite créer une simple application contenant seulement une barre de menu avec un seu l menu ("fichier") et dedans seulement "ouvrir" et un canevas
lorsque l'utilisateur clique sur "ouvrir" il faudrait que mon image s'affiche dans le canevas masi cela ne marche pas...
aidez moi
voici le code:
#! /usr/bin/env python
# -*- coding: Latin-1 -*-
import tkFileDialog
from Tkinter import *
def ouvrir():
photo = PhotoImage(file='toto.gif')
item = can1.create_image(250, 250, image = photo)
can1.pack()
fen = Tk()
fileMenu = Menubutton(fen, text = 'Fichier')
fileMenu.pack(side = TOP)
me1 = Menu(fileMenu)
me1.add_command(label = 'Ouvrir', command = ouvrir)
fileMenu.configure(menu = me1)
can1 = Canvas(fen, width = 500, height = 500, bg = 'white')
fen.mainloop
PS:
lorsque je mets l'affichage de l'image dans le canevas dans le main et non dans ma fonction ouvrir ca marche tres bien ca l'affiche de suite. Pourquoi? Quelle est la solution?
est ce possible d'afficher toutes sortes d'images (JPG, GIF, PPM, etc...) ?
Voila mon probleme, je souhaite créer une simple application contenant seulement une barre de menu avec un seu l menu ("fichier") et dedans seulement "ouvrir" et un canevas
lorsque l'utilisateur clique sur "ouvrir" il faudrait que mon image s'affiche dans le canevas masi cela ne marche pas...
aidez moi
voici le code:
#! /usr/bin/env python
# -*- coding: Latin-1 -*-
import tkFileDialog
from Tkinter import *
def ouvrir():
photo = PhotoImage(file='toto.gif')
item = can1.create_image(250, 250, image = photo)
can1.pack()
fen = Tk()
fileMenu = Menubutton(fen, text = 'Fichier')
fileMenu.pack(side = TOP)
me1 = Menu(fileMenu)
me1.add_command(label = 'Ouvrir', command = ouvrir)
fileMenu.configure(menu = me1)
can1 = Canvas(fen, width = 500, height = 500, bg = 'white')
fen.mainloop
PS:
lorsque je mets l'affichage de l'image dans le canevas dans le main et non dans ma fonction ouvrir ca marche tres bien ca l'affiche de suite. Pourquoi? Quelle est la solution?
est ce possible d'afficher toutes sortes d'images (JPG, GIF, PPM, etc...) ?
A voir également:
- [Python] afficher une image dans un canevas
- Légender une image - Guide
- Image iso - Guide
- Canevas application - Télécharger - Divers Photo & Graphisme
- Citizen code python - Accueil - Outils
- Afficher le 0 devant un nombre dans excel - Guide
4 réponses
la ligne :
can1.pack()
il faut la mettre après les éléments que tu veux intégrer dans ton Canevas
là en loccurence ce serai juste avant le mainloop
can1.pack()
il faut la mettre après les éléments que tu veux intégrer dans ton Canevas
là en loccurence ce serai juste avant le mainloop
envoyer des objets dans une trajectoire balistique ?
:-.
Euh... Python est un langage de programmation, pas une catapulte :o)
:-.
Euh... Python est un langage de programmation, pas une catapulte :o)
par défaut, tkinter ne supporte que le GIF il me semble.
Si tu veux afficher plusieurs formats différents, il faut installer la librairie PIL (Python Imaging Library).
http://www.pythonware.com/products/pil/
Si tu veux afficher plusieurs formats différents, il faut installer la librairie PIL (Python Imaging Library).
http://www.pythonware.com/products/pil/