我创建 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/