Afficher une variable dans un widget python

laurent70197 Messages postés 1 Statut Membre -  
mamiemando Messages postés 34195 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je viens de créer un petit prog en python Tk pour afficher sous linux le contenu de la commande
atq
. Mais je n'arrive pas a afficher le contenu de la variable ou se trouve le resultat de la commande. Elle s'affiche bien si je fais un print, mais pas si j'essaie de l'afficher dans un label.

J'imagine que j'ai fait une toute petite bêtise, mais je n'arrive pas a mettre la main dessus.

Si vous la voyez, ca m'arrangerait.

from Tkinter import *
import os

fenetre1 = Tk()
fenetre1.title('Atq')
at = "atq"
result = os.system(at)
result = StringVar()
print result
var_textelabel = Label(fenetre1, textvariable=result)
var_textelabel.pack()
fenetre1.mainloop()


Merci d'avance
A voir également:

1 réponse

mamiemando Messages postés 34195 Date d'inscription   Statut Modérateur Dernière intervention   7 895
 
Bonjour,

Pour moi ton erreur est ici :

result = os.system(at)
result = StringVar()


En effet, tu écrases le résultat de
os.system(at)
avec
StringVar()
. Il faudrait j'imagine que
StringVar()
prenne en paramètre
result
.

Il y aussi quelques amélioration qui devraient être apportées :
- fais du python3 :-)
- utilise
Popen
au lieu de
os.system
notamment pour récupérer les éventuelles erreurs.
- contrôle si l'appel à
atq
a marché
- utilise un framework plus moderne que tk (e.g. gtk ou pyqt)

Bonne chance
0