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 :

fonction: Diaporama Publicitaire


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Par défaut fonction: Diaporama Publicitaire
    Bonjour,

    Je suis toujours en pleine expérimentation pour faire un diaporama. J'avais déjà ouvert un poste à ce sujet (https://www.developpez.net/forums/d1...itaire-django/) car je voulais faire avec Django. J'ai décider de changer et orienté sur une interface graphique. J'ai trouvé ce poste concernant un diaporama (https://www.developpez.net/forums/d9...ire-diaporama/). J'ai récris de cette manière le bout de code:
    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
    #import pdb ; pdb.set_trace()
     
    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()
    La ça fonctionne mais je voudrais mettre la partie de chargement des photos dans une fonction. Voici ma modification:
    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
    from tkinter import *
    from glob import glob
    from PIL import Image, ImageTk
    #import pdb ; pdb.set_trace()
     
    j = 0
    window = Tk()
    lbl = Label(window)
    lbl.pack()
     
    def loadSlides():
        slides = []
        for i in glob('./slides/*.JPG'):
            image = Image.open(i)
            photo = ImageTk.PhotoImage(image)
            slides.append(photo)
        return slides
     
    def slideshow():
        slides = loadSlides()
        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()
    Maintenant j'ai plus que la fenêtre tkinter qui s'ouvre mais je n'ai pas d'image qui s'affiche. Quand je fais avec pdb, dans ma variable slides de la fonction slideshow, j'ai les images et quand j'arrive sur lbl.conf, je peux charger l'image dans la fenêtre. Mais il se bloque après sur windows.after. Pourquoi? Et il y a aussi quelqu'un qui arrive me dire pourquoi dans window.after, l'appel de la fonction et sans les parentaise?

    Merci pour vos réponses

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Salut,

    C'est super de ré-utiliser le code qu'on trouve sur Internet... mais sauf à pouvoir l'utiliser tel que, sans comprendre comment il fonctionne pas facile de le modifier.

    Citation Envoyé par xekkos Voir le message
    Maintenant j'ai plus que la fenêtre tkinter qui s'ouvre mais je n'ai pas d'image qui s'affiche. Quand je fais avec pdb, dans ma variable slides de la fonction slideshow, j'ai les images et quand j'arrive sur lbl.conf, je peux charger l'image dans la fenêtre.
    C'est dans la FAQ...
    La FAQ permet de ré-utiliser les réponses données à des questions posées moulte fois par des débutants déconcertés.

    Citation Envoyé par xekkos Voir le message
    Mais il se bloque après sur windows.after. Pourquoi? Et il y a aussi quelqu'un qui arrive me dire pourquoi dans window.after, l'appel de la fonction et sans les parentaise?
    Il faut commencer par savoir ce que fait .after ce qui est dans
    n'importe quelle documentation.
    note: la documentation est aussi ré-utilisable à souhait.

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

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Par défaut
    Merci pour m'avoir répondu.

    C'est pas facile de ce documenter sur internet et il faut trouver les bouts sites pour travailler! Je comprends maintenant qu'on trouve beaucoup réponse sur ce site mais je ne sais pas forcement l'utiliser car je trouve qu'on est noyé sous la quantité d'information et de liens internes. Je ne savais pas que la FAQ était aussi bien faite, je vais maintenant pouvoir l'utiliser. Merci aussi pour la documentation sur tinker, j'utilisais celle de http://effbot.org/ bien mais en Anglais. Là, je vais bien pouvoir mieux comprendre.

    Encore merci et mes meilleures salutations

  4. #4
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Citation Envoyé par xekkos Voir le message
    Je ne savais pas que la FAQ était aussi bien faite, je vais maintenant pouvoir l'utiliser. Merci aussi pour la documentation sur tinker, j'utilisais celle de http://effbot.org/ bien mais en Anglais. Là, je vais bien pouvoir mieux comprendre.
    C'est pour cela que je préfère vous donner l'occasion de les découvrir plutôt que de vous donner directement des réponses.

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

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2013
    Messages
    26
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Suisse

    Informations forums :
    Inscription : Avril 2013
    Messages : 26
    Par défaut
    Oui, c'est mieux pour moi!! Je vais pouvoir travailler dessus cet après midi. Le jour, ou j'ai fini de coder mon premier projet en python, je peux poster ici pour avoir des critiques? J'ai fait ça quand j'ai appris la programmation shell et j'ai pu vite progresser.

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 790
    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 790
    Par défaut
    Citation Envoyé par xekkos Voir le message
    Oui, c'est mieux pour moi!! Je vais pouvoir travailler dessus cet après midi. Le jour, ou j'ai fini de coder mon premier projet en python, je peux poster ici pour avoir des critiques? J'ai fait ça quand j'ai appris la programmation shell et j'ai pu vite progresser.
    pas de problème.

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

Discussions similaires

  1. [Python 3.X] Diaporama Publicitaire avec Django
    Par xekkos dans le forum Django
    Réponses: 4
    Dernier message: 21/02/2017, 14h29
  2. Réponses: 2
    Dernier message: 06/01/2014, 07h53
  3. Réponses: 12
    Dernier message: 17/02/2010, 16h59
  4. [Forum] Script diaporama photo avec fonction "glob"
    Par marc.suisse dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 5
    Dernier message: 18/03/2009, 13h02
  5. FOnction api specifiant la position de la souris
    Par florent dans le forum C++Builder
    Réponses: 4
    Dernier message: 15/05/2002, 20h07

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