0

我目前正在为 GTK+ 软件 (Pidgin) 编写插件。我以前没有使用过 GTK,所以我只是对文档中的对象如何工作有点熟悉。

我正在创建几千个带有图像的按钮(笑脸)并将它们存储在一个双向链表中。然后,根据用户请求,这些按钮的一部分显示在对话框中,以 hbox 和 vbox 组织。一旦用户关闭对话框,它就会被销毁,hbox、vbox、按钮和图像也会被销毁。但我不希望按钮及其图像被破坏,因为我试图将它们保留在双向链接列表中以便能够再次快速显示它们。

我尝试了什么:

  • 使用 g_object_ref() 或 g_object_ref_sink() 创建对按钮的额外引用。这并没有改变什么。
  • 连接到应该在最终确定之前调用的“删除”信号。虽然没有发出这个信号。

编辑:我还检查了 GObject.ref_count 字段,它不会为零。所以这不是问题的原因。

对于如何尽可能有效地防止按钮被破坏的任何提示,我将不胜感激

4

0 回答 0