[tkinter] Ajouter un label chaque minute

Résolu/Fermé
tatal21820 Messages postés 35 Date d'inscription vendredi 6 mai 2022 Statut Membre Dernière intervention 2 septembre 2023 - Modifié le 1 sept. 2022 à 15:25
tatal21820 Messages postés 35 Date d'inscription vendredi 6 mai 2022 Statut Membre Dernière intervention 2 septembre 2023 - 29 août 2022 à 20:58

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

A voir également:

6 réponses

Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
Modifié le 29 août 2022 à 20:03

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
tatal21820 Messages postés 35 Date d'inscription vendredi 6 mai 2022 Statut Membre Dernière intervention 2 septembre 2023
Modifié le 1 sept. 2022 à 15:20

Ç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
Phil_1857 Messages postés 1872 Date d'inscription lundi 23 mars 2020 Statut Membre Dernière intervention 28 février 2024 168
29 août 2022 à 20:06

J'ai rajouté un code ..

0
yg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 Ambassadeur 1 557
29 août 2022 à 20:18

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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
tatal21820 Messages postés 35 Date d'inscription vendredi 6 mai 2022 Statut Membre Dernière intervention 2 septembre 2023
Modifié le 1 sept. 2022 à 15:20

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

Un grand merci

0
yg_be Messages postés 23405 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 1 557
Modifié le 29 août 2022 à 20:46

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
tatal21820 Messages postés 35 Date d'inscription vendredi 6 mai 2022 Statut Membre Dernière intervention 2 septembre 2023
29 août 2022 à 20:58

Trop cool, MERCI exactement je que je voulais.

Je vais étudier le code pour bien le comprendre.

MERCI

0