[Python] afficher une image dans un canevas
frizou11
-
sebsauvage Messages postés 33284 Date d'inscription Statut Modérateur Dernière intervention -
sebsauvage Messages postés 33284 Date d'inscription Statut Modérateur Dernière intervention -
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
- Canevas logiciel - Télécharger - Divers Photo & Graphisme
- Image iso - Guide
- Légender une image - Guide
- Citizen code python - Accueil - Outils
- Detourer une image - 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/