为什么新添加的小部件没有分配?

问题描述:

我想将一个小部件添加到滚动窗口的底部,然后滚动到该窗口的底部。但是,该窗口认为它已经在底部,因为该窗口小部件尚未分配。即,这返回-1:为什么新添加的小部件没有分配?

widget.get_allocation().y 

这是为什么?有什么办法可以立即分配小部件,所以我可以相应地调整窗口?还是有更好的解决方案?

更好的解决方案是连接到小部件的size-allocate信号并推迟到您的滚动计算。

+0

这很好。谢谢! – 2009-06-07 00:25:18

我不是100%确定我明白你想要做什么,但仍然:至少,你需要realize小部件才能得到它来计算这些东西。但请参阅链接文档中的说明,并调查这些方式是否无法更好地发挥作用。