如何解决QAbstractItemModel::columnCount - 每行的可变列数
我们正在实现一个 qabstractitemmodel 结构,如下图所示,并希望如此;
- 节点 A 包含 3 个数据列
- 节点 B 包含 8 个数据列
- 节点 C 包含 5 个数据列
但是,在查看 qabstractitemmodel::columnCount 的签名时,不清楚如何实现上述要求。很难确定节点A应该有3列,节点B应该有8列,节点C应该有5列,只给出父索引。
int qabstractitemmodel::columnCount(const QModelIndex &parent = QModelIndex()) const
返回给定父级的子级的列数。
在大多数子类中,列数与父类无关。
QAbstractItemModel::columnCount
使用 qabstractitemmodel 肯定可以解决此类问题。我做错了什么或没有在想什么?感谢您对此事的任何意见。
解决方法
我不知道这是否对您有帮助,但我实现了一个树模型来弄清楚如何编写模型。它在我的 github 上:https://github.com/jplflyer/qt-TreeViewDemo
要解决您的具体问题:您传递了一个 QModelIndex
对象,您必须找出所指向的数据并使用它来确定子项的数量。
您应该已经有了接受 QModelIndex
并返回列数据的代码,因此您可以利用相同的代码来知道要返回什么。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。