0

我是 GTK 的新手,它的所有术语和文档可能会更好。我有以下控件需要在单击按钮时清除。

  • GTKTextView - 1
  • GTKEntry - 3
  • GTKL标签 - 16

所以我想我会遍历一个调用 gtk_builder_get_object 的对象名称表并保存返回的对象(这些就像 Windows 中的句柄?)。完成后我是否必须释放这些,或者当我的窗口关闭时它们会被破坏?

4

1 回答 1

1

我不太了解您的问题,您是要销毁小部件吗?如果是这样,您应该使用gtk_widget_destroy ()

当一个小部件被销毁时,它将破坏它对其他对象的任何引用。如果小部件位于容器内,则小部件将从容器中移除。如果小部件是顶层(从 GtkWindow 派生),它将从顶层列表中删除,并且 GTK+ 对它的引用将被删除。

如果你销毁一个窗口,它上面的小部件也会被销毁。如果您想销毁窗口中的某些小部件,请销毁它们的父级(例如,包装它们的盒子或桌子)。否则,您将不得不将它们一一销毁。

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

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

如果我能提供更多帮助,请告诉我...

于 2012-08-12T02:56:37.453 回答