Tkinter, transformer une interface texte en interface graphique

Utilisateur anonyme - Modifié par akaten le 31/12/2016 à 17:30
lespinx Messages postés 106 Date d'inscription lundi 9 octobre 2006 Statut Membre Dernière intervention 23 novembre 2022 - 2 janv. 2017 à 17:48
Bonjour, je voudrais transformer une interface texte en interface graphique. j'ai déjà commencé avec Tkinter, mais cela s'est vite compliqué.
Voici le code en interface texte(c'est un compte à rebours):
import time, os  
i = 10
while (i > 0):  
    i = (i -1)  
    print i  
    time.sleep(1)  
os.system("clear")

et voici ma tentative avec Tkinter:
import time, os
import Tkinter
mafenetre = Tkinter.Tk() ###creation de main window
i=10

while(i>0):
    label1 = Tkinter.Label(mafenetre, text=i, bg='red') ###label graph(creation du widget)
    label1.pack()
    i=(i-1)
    print(i)
    time.sleep(1)
    os.system("cls")
    mafenetre.mainloop()

J'utilise Python 2.7
Merci d'avance de vos réponse.

1 réponse

lespinx Messages postés 106 Date d'inscription lundi 9 octobre 2006 Statut Membre Dernière intervention 23 novembre 2022 77
2 janv. 2017 à 17:48
Bonsoir,
Voici un exemple:
import time
import Tkinter

mafenetre = Tkinter.Tk() ###creation de main window
i=11

#Pour lire ou ecrire dans un Label il faut utiliser la methode Get ou Set
Lab_i = Tkinter.StringVar() #Affectation de type de variable TKinter(String)
label1 = Tkinter.Label(mafenetre, textvariable = Lab_i, bg='red',width = 8,) ###label graph(creation du widget)
label1.pack()
Lab_i.set(str(i)) #Ecriture dans le label

while(i>0):
i=(i-1)
Lab_i.set(i) #Ecriture
print(Lab_i.get()) #Lecture
mafenetre.update() #Forcage du rafraichissement de l'ecran, sinon
#l'ecran ne sera affiche qu'en fin de boucle
time.sleep(1)

mafenetre.mainloop() #Interception des evenements TKinter

0
Rejoignez-nous