【发布时间】:2013-08-27 11:28:43
【问题描述】:
有没有办法在 Glade 中创建“无父”小部件?我的意思是,例如,一个没有关联父级的表,以便我以后可以将其分配为其他东西的子级。
我要做的是一个带有 3 个位置 VBox 的 GTK 窗口,其中 2 个是静态的,1 个是动态的。在这个动态位置,我想加载一个预定义的表格,该表格会根据我在静态部分所做的任何事情而有所不同,例如按下 X 或 Y 按钮。
这可能吗,还是我必须通过代码创建动态表?
我正在使用 Ruby 1.9.3、Gtk2 和 Glade3。谢谢。
编辑:我尝试使用表格创建一个单独的窗口,并将其中一个表格加载到预期的窗口中。我收到一个错误,显然是 Child-Parent 不匹配:“Gtk-CRITICAL **:gtk_box_pack: assertion `child->parent == NULL' failed”
【问题讨论】:
-
对于单独的窗口解决方法:您需要使用
gtk_widget_reparent()或手动 a) 获取对子项的引用,b) 从临时容器中删除它,c) 将其添加到预期容器中,d ) 未引用。