[Python] afficher une image dans un canevas

Fermé
frizou11 - 25 avril 2006 à 14:33
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 - 3 janv. 2007 à 14:12
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...) ?
A voir également:

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
1
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
3 janv. 2007 à 14:12
envoyer des objets dans une trajectoire balistique ?

:-.

Euh... Python est un langage de programmation, pas une catapulte :o)
0
sebsauvage Messages postés 32893 Date d'inscription mercredi 29 août 2001 Statut Modérateur Dernière intervention 21 octobre 2019 15 655
25 avril 2006 à 15:47
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/
-1
SALUT ! je suis débutant et j'aimerais bien savoir comment on fait pour envoyer des objets dans une trajectoire balistique ... Je ne sais pas comment faire un topic alors bon .. Répondez-moi !
-1