QAbstractItemModel重新实现parent函数时,怎么找到下面数据结构的父对象

五里之南 2019-01-18 09:56:31
有一个现成的数据结构,我不能去修改,现在要去使用model把数据显示出来,但是在重写parent函数的时候遇到了一个问题,不知道该怎么解决了,有能够帮忙解决的吗?
数据结构大概类型如下:
class GseData {
public:
GseData(){}
int a;
int b;
int type;
QString value;
....
QList<GseData> subItems;
};
数据含义说明:
只有当type为特定值时subItems才有效,其他值无效;
type值改变时,对应的value值表示不同的含义。
问题:
virtual QModelIndex parent(const QModelIndex &child) const
{
//?????
if (child.internalPointer() != nullptr) {
//下面是开始写的错误的代码
//GseData*pNode = reinterpret_cast<GseData*>(child.internalPointer());
//return createIndex(child.parent().row(), child.parent().column(), pNode);
}
return QModelIndex();
}
不知道怎么去找到对应的数据了。有人能帮下忙吗?不胜感激。
...全文
1342 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
五里之南 2019-01-18
  • 打赏
  • 举报
回复
还有一点就是当type为特定值时,假如value的值为3,则需要在subItems动态添加3个子GseData,实时在视图中显示出来,在setData中实现界面数据修改后写回到GseData数据中。 或者不使用视图模型结构,有没有其他好的解决办法能够显示、回写这种数据结构的??

16,215

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧