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

发布于 2024-07-20 22:30:31 字数 192 浏览 1 评论 0原文

我想将一个小部件添加到滚动窗口的底部,然后滚动到该窗口的底部。 然而,窗口认为它已经在底部了,因为小部件还没有被分配。 即,这返回-1:

widget.get_allocation().y

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

I want to add a widget to the bottom of a scrolled window, then scroll to the bottom of that window. However, the window thinks it is already at the bottom, because the widget has still not been allocated. I.e., this returns -1:

widget.get_allocation().y

Why is this? Is there any way to force the widget to be allocated immediately, so I can adjust the window accordingly? Or is there a better solution?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

转角预定愛 2024-07-27 22:30:31

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

The better solution is to hook up to the widget's size-allocate signal and defer your scrolling calculation until then.

秉烛思 2024-07-27 22:30:31

我不是 100% 确定我理解你想要做什么,但仍然:至少,你需要实现 小部件以使其计算这些内容。 但请参阅链接文档中的注释,并调查这些方法是否效果更好。

I'm not 100% sure I understand what you're trying to do, but still: At a minimum, you need to realize the widget to get it to compute those things. But see the note in the linked-to documentation, and investigate if those ways don't work better.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文