我需要检索 Gtk::Widget
相对于其父级 Gtk::Table
的位置。大多数来源(例如 http://library.gnome.org/devel/gtk-faq/stable/x642.html)说需要调用 Gtk::Widget::get_allocation()
。但是,返回的 Gtk::Allocation
对象始终包含 x = -1
、y = -1
、width = 1
,高度 = 1
。
我必须注意,这发生在 Gtk::Table
对象实际暴露和呈现之前。对 show_all_children()
或 check_resize()
的调用(我希望重新计算子小部件几何形状)没有帮助。
我做错了什么?提前致谢。
最佳答案
您可以尝试调用 <a href="http://library.gnome.org/devel/gtk/stable/GtkWidget.html#gtk-widget-realize" rel="noreferrer noopener nofollow">gtk_widget_realize()</a>
在顶层 GtkTable 上。
如我链接的文档中所建议的,另一种方法是将处理程序附加到 GtkWidget::expose-event
信号。
关于c++ - 检索 Gtk::Widget 的相对位置:get_allocation() 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2487786/