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 :

Probleme avec un print dans Tkinter


Sujet :

Tkinter Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 9
    Par défaut Probleme avec un print dans Tkinter
    Bonjour,

    Mon soucis dans ce bout de code est que si j enleve le print dans la boucle
    le canvas ne se cree pas et la fonction create_rectangle ne s affiche pas

    quelle est la relation entre print sur la console et Tkinter?

    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
    from Tkinter import *
    import subprocess
    def go():
        top = Canvas(fenetre, relief=RAISED, borderwidth=4)
        top.grid()
        p = subprocess.Popen("dir c:",bufsize=0,shell=True, stdout=subprocess.PIPE).stdout
        while 1:
            line = p.read(3)
            if not line:
                break
            chaine=(line.partition(" ")[0])
            if chaine.isdigit() == 1:
                top.delete(all)
                top.create_rectangle(1,1,int(chaine),40, fill="blue")
                print int(chaine)  #ici est le probleme
        top.destroy()
    fenetre = Tk()
    bgo = Button(fenetre, text="  go  ", command= go)
    bgo.grid()
    bquit = Button(fenetre, text=" Quit ", command= fenetre.quit)
    bquit.grid()
    fenetre.mainloop()
    fenetre.destroy()
    rapidement j explique :

    je cree une fenetre tk avec 2 boutons bquit qui ferme l appli et bgo qui lance la fonction def go():

    go : ouvre un canvas (top) dans ma fenetre
    lance p un subprocess.Popen pipé qui lance betement 'dir c:'
    tant que je lis 3 caracteres je continue sinon break (la commande dir est finie)
    cette chaine je la coupe en 3 separé par un espace et je garde la partie 0 (du genre "424"," ","fichierTruc"
    si la chaine est un digit (chiffre seulement) alors True je continue (dans l example 424)
    j efface mes anciens rectangles (toute la liste comme cela c est certain)
    j en cree un de x=1 y=1 longueur int(de la string chaine soit 424), hauteur 40, que je remplis en bleu
    je print quelque chose ici la valeur convertie en nombre (donc 424)
    la boucle finie j efface mon canvas (je retrouve mes 2 boutons)

    le programme tel quel fonctionne, c est pas beau, ca va trop vite, le rectangle glignote mais c est pas grave
    le probleme est que si je supprime le Print, il n y a plus de rectangle, ni d ailleurs de canvas

    il faut un print n importe ou dans une des boucles (dans le if ou dans le while), qui imprime n importe quoi sinon ca marche pas

    si quelqun a des indices, je suis preneur

  2. #2
    Membre Expert
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    1 068
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 068
    Par défaut
    et si tu temporisais à la place du print pour voir ce que ça fait ...

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2009
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2009
    Messages : 9
    Par défaut
    ben voila trouvé et c est tout bete

    a la place du print il suffit de faire un
    fenetre.update()

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 18/03/2006, 19h51
  2. Réponses: 2
    Dernier message: 10/10/2005, 02h25
  3. [Système]Probleme avec un chemin dans cmd.exe
    Par Sarrus dans le forum API standards et tierces
    Réponses: 3
    Dernier message: 14/09/2005, 08h31
  4. Réponses: 11
    Dernier message: 12/04/2005, 14h08
  5. [langage] probleme avec les listes dans des listes
    Par pqmoltonel dans le forum Langage
    Réponses: 7
    Dernier message: 27/04/2004, 12h32

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