检索Gtk :: Widget的相对位置:get_allocation()不起作用

时间:2010-03-21 16:29:31

标签: c++ gtk gtkmm

我需要检索Gtk::Widget相对于其父级Gtk::Table的位置。大多数来源(例如http://library.gnome.org/devel/gtk-faq/stable/x642.html)都说需要拨打Gtk::Widget::get_allocation()。但是,返回的Gtk::Allocation对象始终包含x = -1y = -1width = 1height = 1

我必须注意,这是在实际公开和呈现Gtk::Table对象之前发生的。调用show_all_children()check_resize(),我希望重新计算子窗口小部件的几何图形,但没有帮助。

我做错了什么?提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以尝试在顶级GtkTable上调用gtk_widget_realize()

正如我链接的文档中所建议的另一种方法是将处理程序附加到GtkWidget::expose-event信号。