c++ - 如何删除 gtkmm 中自定义 TreeModel 中的 user_data?

标签 c++ gtkmm gtk3

我创建 user_data 是这样的:

bool
MyTreeModel::iter_nth_root_child_vfunc (int index, iterator & iter) const
{
   iter .gobj () -> user_data = new UserData (...);
   return true;
}

我可以创建用户数据,但是有没有办法在迭代器被销毁时得到通知,这样我就可以删除我的用户数据?

最佳答案

没有; user_data 是一个非拥有指针。您应该将树与基于节点的容器(例如 std::map)并行,并将您的 UserData 对象存储在其中,并使用 user_data指向容器的指针。

关于c++ - 如何删除 gtkmm 中自定义 TreeModel 中的 user_data?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16013579/

相关文章:

java - 在 Java OpenCV 中替换像素的等效代码

C++ 全局变量的后期实例化

c++ - Gtkmm 'no matching function for call' 错误

c++ - 如何使用 Gtkmm 添加对按钮的响应

c++ template<template> 成员函数的模板特化

c++ - C++中的数组复制反转

c++ - libsigc 如何包含在 gtkmm 项目中?

c - gtk_widget_show_all(窗口);等待函数返回值时不起作用

C - GTK3 和线程

python - 将 Gtk.Widget 放入带有顶部填充的 Box 中