关于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指针(如上所述),那么在删除此指针后,是删除已创建的窗口,还是需要手动删除这些窗口?
谢谢,
PP。
发布于 2010-04-12 22:31:21
A GtkBuilder持有对其构造的所有对象的引用,并在完成时删除这些引用。此终结会导致破坏未包含在顶层窗口中的非窗口小部件对象或窗口小部件。对于由构建器构造的顶层窗口,用户有责任调用gtk_widget_destroy()来删除它们及其包含的所有小部件。
所以,不,GtkBuilder不会为你做这件事,你必须自己做。
https://stackoverflow.com/questions/2622791
复制相似问题