首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >销毁GtkBuilder会销毁所有创建的小部件吗?

销毁GtkBuilder会销毁所有创建的小部件吗?
EN

Stack Overflow用户
提问于 2010-04-12 22:28:20
回答 1查看 1.2K关注 0票数 2

关于GtkBuilder的问题。当我们取消引用构建器指针时,它会销毁构建器创建的所有屏幕/小部件吗?

代码语言:javascript
复制
if( builder_ptr )
    g_object_unref(G_OBJECT(builder_ptr));

假设我们使用Glade/XML创建了一个屏幕,其中包含2-3个top_level窗口

代码语言:javascript
复制
gtk_builder_add_from_file(builder_ptr, "Test.glade", &error )

并生成GtkBuilder指针(如上所述),那么在删除此指针后,是删除已创建的窗口,还是需要手动删除这些窗口?

谢谢,

PP。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-04-12 22:31:21

documentation

A GtkBuilder持有对其构造的所有对象的引用,并在完成时删除这些引用。此终结会导致破坏未包含在顶层窗口中的非窗口小部件对象或窗口小部件。对于由构建器构造的顶层窗口,用户有责任调用gtk_widget_destroy()来删除它们及其包含的所有小部件。

所以,不,GtkBuilder不会为你做这件事,你必须自己做。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2622791

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档