我需要检索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
,height = 1
。
我必须注意,这是在实际公开和呈现Gtk::Table
对象之前发生的。调用show_all_children()
或check_resize()
,我希望重新计算子窗口小部件的几何图形,但没有帮助。
我做错了什么?提前谢谢。
答案 0 :(得分:0)
您可以尝试在顶级GtkTable上调用gtk_widget_realize()
。
正如我链接的文档中所建议的另一种方法是将处理程序附加到GtkWidget::expose-event
信号。