[tkinter] Ajouter un label chaque minute

Résolu
tatal21820 Messages postés 37 Statut Membre -  
tatal21820 Messages postés 37 Statut Membre -

Bonjour,

Je voudrais faire apparaître la première ligne d'information pendant une minute, puis la 2ième, 3ième et ainsi de suite. Est-ce possible?

D'avance merci

import feedparser
from tkinter import *
from tkinter import Tk, ttk

master = Tk()
master.attributes('-fullscreen', True)
master.bind('<Escape>', lambda e: master.destroy())
master.config(background='black')
frm1 = LabelFrame(master, text='France 24', font='Arial 15', fg='WHITE', bg='black', height=200, relief=GROOVE)
frm1.place(x=320, y=100)

feed = feedparser.parse("http://www.france24.com/fr/france/rss")

for entry in feed.entries:
    info = Label(frm1, text=entry.title, font='Arial 16', fg='WHITE', bg='black')
    info.pack()
    # print(entry.title)

master.mainloop()


Windows / Chrome 104.0.0.0

6 réponses

  1. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     

    Bonjour,

    C'est bizarre de créer un label pour chaque ligne

    Ce serait plus sympa avec le widget Text

    Exemple:

    import feedparser
    from tkinter import *
    from tkinter import Tk, ttk
    
    master = Tk()
    master.attributes('-fullscreen', True)
    master.config(background='blue')
    
    display = Text(master, width = 100, height = 100)
    display.place(x = 10, y = 10)
    feed = feedparser.parse("http://www.france24.com/fr/france/rss")
    
    row = 0.0
    for entry in feed.entries:
        display.insert(row, entry.title+'\n')
        row+=5.0
    
    master.mainloop()
    
    0
  2. tatal21820 Messages postés 37 Statut Membre
     

    Ça fait partie d'un plus grand programme, plus facile pour la disposition, c'est une ébauche. Quand j'aurai obtenu le résultat que je souhaite, je ferais mieux. Je suis débutant.

    0
  3. Phil_1857 Messages postés 1883 Date d'inscription   Statut Membre Dernière intervention   169
     

    J'ai rajouté un code ..

    0
  4. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 588
     

    bonjour,

    un exemple:

    from tkinter import *
    from tkinter import Tk, ttk
    
    master = Tk()
    master.attributes('-fullscreen', True)
    master.bind('<Escape>', lambda e: master.destroy())
    master.config(background='black')
    frm1 = LabelFrame(master, text='France 24', font='Arial 15', fg='WHITE', bg='black', height=200, relief=GROOVE)
    frm1.place(x=320, y=100)
    
    feed = ("un","deux","trois")
    def aff(info,feed,n):
        info.config(text=feed[n])
        if n+1<len(feed):
            n +=1
        else:
            n = 0
        info.after(2000,aff,info,feed,n)
    
    info = Label(frm1,  font='Arial 16', fg='WHITE', bg='black')
    info.pack()
    aff(info,feed,0)   # print(entry.title)
    
    master.mainloop()
    
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. tatal21820 Messages postés 37 Statut Membre
     

    Merci, je vais creuser la question, pour l'instant ça affiche 1,2,3

    Un grand merci

    0
    1. yg_be Messages postés 23437 Date d'inscription   Statut Contributeur Dernière intervention   1 588
       

      plus proche de ton exemple:

      import feedparser
      from tkinter import *
      from tkinter import Tk, ttk
      
      master = Tk()
      master.attributes('-fullscreen', True)
      master.bind('<Escape>', lambda e: master.destroy())
      master.config(background='black')
      frm1 = LabelFrame(master, text='France 24', font='Arial 15', fg='WHITE', bg='black', height=200, relief=GROOVE)
      frm1.place(x=320, y=100)
      
      feed = feedparser.parse("http://www.france24.com/fr/france/rss").entries
      def aff(inpho,pheed,n):
          inpho.config(text=pheed[n].title)
          if n+1<len(pheed):
              n +=1
          else:
              pheed = feedparser.parse("http://www.france24.com/fr/france/rss").entries
              n = 0
          info.after(1000,aff,inpho,pheed,n)
      
      info = Label(frm1,  font='Arial 16', fg='WHITE', bg='black')
      info.pack()
      aff(info,feed,0)   
      master.mainloop()
      
      0
  7. tatal21820 Messages postés 37 Statut Membre
     

    Trop cool, MERCI exactement je que je voulais.

    Je vais étudier le code pour bien le comprendre.

    MERCI

    0