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

GTK+ avec Python Discussion :

Forcer le raffraichissement de l'application [Fait]


Sujet :

GTK+ avec Python

  1. #1
    Expert confirmé
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Par défaut Forcer le raffraichissement de l'application
    j'ai un exemple tout simple. Une progressbar et un bouton. Quand j'appuie sur le bouton, un compteur s'affiche dans la progresbar. Le problème, c'est que l'appli se freeze et on ne voit que la dernière valeur du compteur.
    Comment donc forcer à ce que l'appli se raffraîchisse à chaque fois que je change le texte de la progressbar ?

    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
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    import pygtk
    pygtk.require('2.0')
    import gtk, gobject
     
    class ProgressBar:
        def affiche(self, widget, data=None):
            for i in range(100000):
                self.pbar.set_text(str(i))
     
        def __init__(self):
            self.window = gtk.Window(gtk.WINDOW_TOPLEVEL)
            self.window.set_resizable(True)
     
            self.window.connect("destroy", self.destroy_progress)
            self.window.set_title("ProgressBar")
            self.window.set_border_width(0)
     
            vbox = gtk.VBox(False, 5)
            vbox.set_border_width(10)
            self.window.add(vbox)
            vbox.show()
     
            # Create a centering alignment object
            align = gtk.Alignment(0.5, 0.5, 0, 0)
            vbox.pack_start(align, False, False, 5)
            align.show()
     
            # Create the ProgressBar
            self.pbar = gtk.ProgressBar()
     
            align.add(self.pbar)
            self.pbar.show()
     
     
     
            # Add a button to exit the program
            button = gtk.Button("Affiche")
            button.connect("clicked", self.affiche)
            vbox.pack_start(button, False, False, 0)
     
            # This makes it so the button is the default.
            button.set_flags(gtk.CAN_DEFAULT)
            button.grab_default ()
            button.show()
     
            self.window.show()
     
    def main():
        gtk.main()
        return 0
     
    if __name__ == "__main__":
        ProgressBar()
        main()

  2. #2
    Expert confirmé
    Avatar de Guigui_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2002
    Messages
    1 864
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Saône et Loire (Bourgogne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2002
    Messages : 1 864
    Par défaut
    Bon a priori, j'ai trouvé.
    Il suffit de rajouter la ligne gtk.main_iteration() quand on veut forcer la raffraichissement
    lien: http://www.async.com.br/faq/pygtk/index.py?req=show&file=faq03.007.htp
    Par contre ca m'a l'air de ralentir pas mal l'application (par rapport à la même mais fait en wxPython où le raffraichit est automatique)

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

Discussions similaires

  1. "Forcer" la fermeture de l'application
    Par noftal dans le forum VB.NET
    Réponses: 20
    Dernier message: 18/12/2013, 22h26
  2. Forcer l'exécution d'une application en mode Run et non pas Debug
    Par benthebest dans le forum Eclipse Java
    Réponses: 0
    Dernier message: 18/04/2012, 22h27
  3. Forcer la fermeture d'une application
    Par Arnaoud dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 21/10/2011, 15h40
  4. [VB.NET] Forcer le design d'une application .NET
    Par tssi555 dans le forum VB.NET
    Réponses: 3
    Dernier message: 07/01/2009, 12h52
  5. Forcer la fermeture d'une application
    Par Bissada dans le forum Langage
    Réponses: 2
    Dernier message: 06/10/2005, 21h42

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