FAQ PythonConsultez toutes les FAQ

Nombre d'auteurs : 11, nombre de questions : 188, dernière mise à jour : 23 mai 2009  Ajouter une question

 

Cette FAQ a été réalisée à partir des questions posées sur le forum Python complétées par d'autres questions qui pouvaient nous sembler intéressantes de traiter. Toutefois il se peut que les réponses apportées contiennent des erreurs, imprécisions ... Vous pouvez dans ce cas contacter un des membres de la rédaction pour lui faire part de vos remarques.

L'équipe Python de Developpez.


SommaireGUIpyGTK (2)
précédent sommaire suivant
 

Les ressources en français sur PyGTK sont relativement peu abondantes. Vous avez cependant à votre disposition un tutoriel et sa traduction qui vous apportetons énormément d'informations.

Documentation officielle


Forum

Mis à jour le 29 novembre 2006 Guigui_

Lorsque vous appelez une fonction qui prend énormément de temps et qui se passe dans le thread principal, il arrive que l'application se fige. Néanmoins, vous pouvez forcer le raffraîchissement de l'application en rajoutant à des endroits stratégiques l'instruction gtk.main_iteration().

Code python :
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
# -*- coding: cp1252 -*- 
import pygtk 
pygtk.require('2.0') 
import gtk, gobject 
  
class TestUpdate: 
    def affiche(self, widget, data=None): 
        for i in range(100000): 
            self.lbl.set_text(str(i)) 
            ## Raffraîchissement de la fenêtre pour voir l'apparition de tous les nombres 
            gtk.main_iteration()   
  
    def __init__(self): 
        self.window = gtk.Window(gtk.WINDOW_TOPLEVEL) 
        self.window.set_resizable(True) 
  
        self.window.set_title("Test Raffraîchissement") 
        self.window.set_border_width(0) 
  
        vbox = gtk.VBox(False, 5) 
        vbox.set_border_width(10) 
        self.window.add(vbox) 
        vbox.show() 
  
        align = gtk.Alignment(0.5, 0.5, 0, 0) 
        vbox.pack_start(align, False, False, 5) 
        align.show() 
  
        self.lbl = label = gtk.Label('') 
        align.add(self.lbl) 
        self.lbl.show() 
  
        button = gtk.Button("Affiche") 
        button.connect("clicked", self.affiche) 
        vbox.pack_start(button, False, False, 0) 
  
        button.set_flags(gtk.CAN_DEFAULT) 
        button.grab_default () 
        button.show() 
  
        self.window.show() 
  
def main(): 
    gtk.main() 
    return 0 
  
if __name__ == "__main__": 
    TestUpdate() 
    main()

Mis à jour le 16 novembre 2006 Guigui_

Proposer une nouvelle réponse sur la FAQ

Ce n'est pas l'endroit pour poser des questions, allez plutôt sur le forum de la rubrique pour ça


Réponse à la question

Liens sous la question
précédent sommaire suivant
 

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2014 Developpez Developpez LLC. Tous droits réservés Developpez LLC. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents et images sans l'autorisation expresse de Developpez LLC. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.

 
 
 
 
Partenaires

PlanetHoster
Ikoula