Bonjour,
cela fait plusieurs jours que je tente de comprendre le thread (google, faq pygtk...) mais quelque chose m'échappe alors si vous pouviez corriger mon code (ou me dire exactement quoi changer) ça serait un bon début, et avec de bonnes explications ça serait encore mieux, merci d'avance.

Actuellement la boucle for fonctionne mais l'interface freeze pendant ce temps, elle ne s'actualise qu'une fois la boucle terminé
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
#!/usr/bin/python
# -*- coding: utf-8 -*-
 
import time
import pygtk
#~ pygtk.require(2.0)
import gtk
import gobject
 
gobject.threads_init()
 
class Base:
    def evt_delete(self, widget, evt, donnees=None):
        gtk.main_quit()
        return False
 
    def refresh(self):
        for i in xrange(10):
            self.text.set_text(str(i))
            print(i)
            time.sleep(0.1)
        print('ok')
        return False
 
 
    def __init__(self):
        self.fenetre = gtk.Window(gtk.WINDOW_TOPLEVEL)
        self.fenetre.set_size_request(300, 300)
 
        self.fenetre.connect("delete_event", self.evt_delete)
 
        vSizer = gtk.VBox()
        self.text = gtk.Label('test')
        vSizer.pack_start(self.text, False, False)
        self.fenetre.add(vSizer)
 
        self.text.show()
        vSizer.show()
        self.fenetre.show()
 
        gobject.idle_add(self.refresh)
 
    def app(self):
        gtk.main()
 
 
app = Base()
app.app()