【发布时间】:2010-03-21 16:29:30
【问题描述】:
我需要检索 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() 的调用(我希望重新计算子小部件几何图形)无济于事。
我做错了什么?提前致谢。
【问题讨论】:
-
画好后还能用吗?
-
确实如此。但是生成
Gtk::Table对象的函数有额外的上下文,例如重新实现on_expose_event()并重新扫描所有子对象以获取和处理此信息会很麻烦。