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

时间:2009-05-26 20:37:57

标签: gtk pygtk

我想在滚动窗口的底部添加一个小部件,然后滚动到该窗口的底部。但是,窗口认为它已经位于底部,因为仍未分配窗口小部件。即,返回-1:

widget.get_allocation().y

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

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

我不是100%确定我理解你要做的事情,但仍然:至少,你需要realize小部件来计算这些东西。但请参阅链接文档中的注释,并调查这些方法是否效果不佳。