Bonjour,
j'ai définit les widgets suivants :
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
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
Partager