如何将所有子窗口小部件移动到另一个容器

时间:2013-02-05 20:48:50

标签: c user-interface gtk

我有一个gtk小部件(来自gtk_dialog_new()),它是在不同的函数中创建的,并且添加了一堆小部件。现在我想将此小部件的所有子节点重新定位到另一个容器。 类似的东西:

get_widget_get_all_childrent(list);
//loop over list and reparent all children

1 个答案:

答案 0 :(得分:1)

实际上,我在谷歌搜索后找到了答案。

首先,我需要获得一份儿童名单:

GList* list = gtk_container_get_children();

      //then loop over and reparent

     g_object_ref(widget);
     gtk_container_remove(GTK_CONTAINER(old_parent), widget);
     gtk_container_add(GTK_CONTAINER(new_parent), widget);
     g_object_unref(widget);