我有一个 gtk 小部件(来自 gtk_dialog_new()),它是在不同的函数中创建的,并添加了一堆小部件。现在我想将此小部件的所有子项重新设置为另一个容器。就像是:
get_widget_get_all_childrent(list);
//loop over list and reparent all children
我有一个 gtk 小部件(来自 gtk_dialog_new()),它是在不同的函数中创建的,并添加了一堆小部件。现在我想将此小部件的所有子项重新设置为另一个容器。就像是:
get_widget_get_all_childrent(list);
//loop over list and reparent all children
实际上,经过一番谷歌搜索后,我找到了答案。
首先我需要得到一个孩子的名单:
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);