尝试更多地了解 QAbstractTableModel ,我遇到了 rowCount 和 columnCount 的虚拟方法,在子类化时需要实现这些方法QAbstractTableModel 。
例如,以 int QAbstractItemModel :: columnCount(const QModelIndex&parent = QModelIndex())const 为例,Qt官方文档说:“ 在大多数子类中,列数与父母。”;并给出以下代码片段:
int DomModel::columnCount(const QModelIndex &parent) const
{
return 3;
}
上面提到的内容很容易理解,但是,这使我怀疑列号何时将不独立于参数“父”?我简直无法提出一种方案,其中表的列号不是固定常数,而是取决于特定单元格索引的变量。
似乎根本不需要此参数,有人可以分享一个示例,其中索引参数实际上是有用的吗?
答案 0 :(得分:1)
当您具有层次结构时, parent 参数很有用,因为数据取决于数据在层次结构中的位置,因此可以取决于行数或列数。
从文档的这张图片中,您可以想象到,包含 A 的行的
您可以在doc中阅读更多内容: https://doc.qt.io/qt-5/model-view-programming.html#model-classes