2012-08-12 129 views
0

我是GTK及其所有术语和文档可能会更好的新手。 我有下面的控件,我需要按一下按钮清除。我是否需要释放从gtk_builder_get_object返回的对象?

  • GTKTextView - 1
  • GtkEntry中 - 3
  • GtkLabel的 - 16

所以我想我会遍历对象名称调用gtk_builder_get_object并保存返回的对象的表(这些都是像窗户里的把手?)。当我完成时,我是否必须释放这些东西,或者当我的窗户关闭时它们会被毁坏?

+0

http://developer.gnome.org/gtk-tutorial/2.24/ – PALEN 2012-08-12 03:08:52

回答

1

我不太明白你的问题,你想摧毁小部件吗?如果是这样,你应该使用gtk_widget_destroy()

当构件被破坏,它会破坏它拥有的任何引用到其他 对象。如果小部件位于容器内部,则该小部件将从容器中移除 。如果Widget是顶层(从 GtkWindow派生),它将从顶层列表中删除,并且参考GTK +对它的保留将被删除。

如果你销毁一个窗口,它上的小部件也将被销毁。如果您想销毁窗口中的某些窗口小部件,请销毁它们的父窗口(例如,它们被打包的框或表格)。否则,你将不得不逐个销毁它们。

在大多数情况下,只有顶层窗口小部件(窗口)需要显式销毁,因为当你销毁顶层时,它的子窗口也会被销毁。

在gtk中,如果这就是你的意思,那么你不会释放指向小部件的指针,Gtk函数会适当地为你做。

请让我知道如果我能有更多的帮助......

+0

这对我的作品..谢谢。 – Gunner 2012-08-12 03:11:18

相关问题