IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Tkinter Python Discussion :

"switcher" une image avec tkinter. [Python 3.X]


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 27
    Par défaut "switcher" une image avec tkinter.
    bonjour la communauté!
    avant de vous exposer une petite histoire afin que vous puissiez, je l'espère, comprendre mon souci:
    j'apprends actuellement le japonais, j'ai appris les 92 principaux kana. cependant pour que je puisse m'entrainer j'ai voulu mettre un place un programme me permettant de me tester.
    cepedant je suis bloqué. le but du programme est de pouvoir afficher une image (kana) au hasard. un bouton devrait permettre de passer à une nouvelle image au hasard.
    dès que je lance le programme, un kana apparait ok!. je peux créer un bouton pour effacer le canvas = ok mais lors que je veux remplacer par une nouvelle image, c'est ici que je bloque.
    je me suis inspiré d'autres programmes cependant si de mon côté ça ne marche pas c'est que clairement je m'y prends mal
    voici mon code sans le bouton pour changer l'image.
    je sais que cela va en embeter certains mais je ne suis pas encore à l'aise avec les classes. donc si il vous était possible de ne pas me diriger vers cette solution je vous en serai gré.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
     
    from tkinter import *
    from random import randrange
     
    def affichekana():
        ""
        tplkan = ("B_hir_","B_kat_")
        tplsyll = ("a","i","u","e","o","ka","ki","ku","ke","ko","sa","si","su","se","so","ta","ti","tu","te","to","na","ni","nu","ne","no","ma","mi","mu","me","mo","ya","yu","yo","ra","ri","ru","re","ro","wa","wo","n","ha","hi","hu","he","ho")
     
        a1 = randrange(len(tplkan))
        a = tplkan[a1]
     
        b1 = randrange(len(tplsyll))
        b = tplsyll[b1]
     
        path = './img/'+a+b+'.gif'
     
        return path
     
    def erasekana():
        ""
        canv1.delete(ALL)
     
    fen = Tk()
     
    canv1 = Canvas(fen, width=200, height=200, bg='white')
    canv1.pack()
     
    path = affichekana()
    photo = PhotoImage(file=path)
    item = canv1.create_image(100,100,image = photo)
     
    but1 = Button(fen,text="efface",command=erasekana)
    but1.pack()
     
    fen.mainloop()
    je joins les documents (si ça peut aider ou même servir pour certains ^^ )
    92Kana.zip

    merci à tous!
    cdt

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Salut,

    Vous avez un exemple ici dont vous pourriez vous inspirer.

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 27
    Par défaut ...
    bonjour,

    merci pour la réponse. le souci est que j'utilise,par préférence pour le moment, tkinter
    vous auriez une piste utilisant ce module?

    cdt

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Citation Envoyé par ivigu Voir le message
    merci pour la réponse. le souci est que j'utilise,par préférence pour le moment, tkinter
    vous auriez une piste utilisant ce module?
    L'exemple proposé utilise bien tkinter.
    Je vous le recopie ici:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    from tkinter import *
    from glob import glob
    from PIL import Image, ImageTk
     
     
    j = 0
    window = Tk()
    lbl = Label(window)
    lbl.pack()
     
    slides = []
    for i in glob('./slides/*.JPG'):
        image = Image.open(i)
        photo = ImageTk.PhotoImage(image)
        slides.append(photo)
     
    def slideshow():
        global j
        if j == len(slides):
            j = 0
        try:
            lbl.config(image = slides[j])
            j += 1
        except:
            exit
        window.after(2000, slideshow)
     
    slideshow()
    window.mainloop()
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Juin 2011
    Messages
    27
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2011
    Messages : 27
    Par défaut
    bonjour
    ôtez-moi d'un doute. la méthode pour afficher des images avec tkinter n'est-elle pas photoimage qui ne gère que les gif et je ne sais plus quel autre format? dans votre exemple les images sont en jpeg. du coup cela me gêne un peu.

    cdt

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 752
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 752
    Par défaut
    Citation Envoyé par ivigu Voir le message
    dans votre exemple les images sont en jpeg. du coup cela me gêne un peu.
    Votre question porte sur comment changer d'image mais s'il n'y a que çà pour vous faire plaisir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    from tkinter import *
    from glob import glob
    # from PIL import Image, ImageTk
     
     
    j = 0
    window = Tk()
    lbl = Label(window)
    lbl.pack()
     
    slides = []
    for i in glob('./slides/*.gif'):
    #    image = Image.open(i)
    #    photo = ImageTk.PhotoImage(image)
        image = PhotoImage(file=i)
        slides.append(image)
     
    def slideshow():
        global j
        if j == len(slides):
            j = 0
        try:
            lbl.config(image = slides[j])
            j += 1
        except:
            exit
        window.after(2000, slideshow)
     
    slideshow()
    window.mainloop()
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Intégrer une image avec tkinter
    Par elprogrammateur dans le forum Tkinter
    Réponses: 1
    Dernier message: 23/04/2016, 15h48
  2. [Python 3.X] Insérer une image avec Tkinter
    Par Alexobs dans le forum Tkinter
    Réponses: 0
    Dernier message: 15/05/2015, 17h47
  3. Inserer une image avec Tkinter
    Par Strcpy_P dans le forum Tkinter
    Réponses: 3
    Dernier message: 27/01/2013, 21h28
  4. retourner une image avec tkinter
    Par kokliklo dans le forum Tkinter
    Réponses: 1
    Dernier message: 30/04/2009, 13h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo