有关GtkBuilder的问题。 当我们取消构建器指针时,它会破坏构建器创建的所有屏幕/小部件吗?
if( builder_ptr )
g_object_unref(G_OBJECT(builder_ptr));
假设我们使用Glade / XML创建了一个屏幕,其中包含2-3个top_level窗口
gtk_builder_add_from_file(builder_ptr, "Test.glade", &error )
并生成GtkBuilder指针(如上所示),所以删除此指针后会删除创建的Windows还是我们需要手动删除这些窗口?
谢谢,
PP。
答案 0 :(得分:3)
GtkBuilder拥有对所有人的引用 它构造的对象和 如果丢弃这些引用 最终确定。这个定稿可能会导致 破坏非小部件对象 或未包含的小部件 一个顶层窗户。对于顶级 由建筑商建造的窗户,它 是用户的责任 调用gtk_widget_destroy()来摆脱 他们和他们所有的小部件 包含。
所以,不,GtkBuilder不会为你做这件事,你必须自己做。