別の関数で作成された 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);