Bonjour,
j'ai définit les widgets suivants :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
self.frame = gtk.Frame()
self.VPaned = gtk.VPaned()
self.HPaned = gtk.HPaned()					
...
self.frame.add(self.VPaned)
VPaned.add1(self.HPaned)
self.VPaned.set_position(472)
 
...
def resize():
   print "in :",self.frame.allocation.width
   self.VPaned.set_position(472)
   print self.VPaned.set_position()
   print "out :",self.frame.allocation.width
j'ai définit aussi une callback() positionnée sur self.frame pour le redimensionnement
Code : Sélectionner tout - Visualiser dans une fenêtre à part
self.frame.connect("size_allocate", self.resize)
les traces sont les suivantes :
in: 472
472
out: 472

in: 442
472
out: 472

La procédure resize() est appelé deux fois sur déclenchement de la callback : normal car dû aux deux set_position().

Mon problème est d'expliquer pourquoi, suite au 2ème appel la valeur est 442 et non pas 472.
QUelqu'un peut t'il m'expliquer ce qui se passe et comment je peux prévoir ce comportement (prévoir la valeur 442).

Merci d'avance