我尝试使用“ readonly”模型/视图示例:
examples / widgets / tutorials / modelview / 1_readonly / mymodel.cpp
当我将其更改为...
#include <QDebug>
#include "mymodel.h"
MyModel::MyModel(QObject *parent)
:QAbstractTableModel(parent)
{
}
int MyModel::rowCount(const QModelIndex & /*parent*/) const
{
return 2;
}
int MyModel::columnCount(const QModelIndex & /*parent*/) const
{
return 22000000;
}
QVariant MyModel::data(const QModelIndex &index, int role) const
{
qDebug() << QString("R%1C%2")
.arg(index.row() + 1)
.arg(index.column() +1);
if (role == Qt::DisplayRole)
{
return QString("R%1C%2")
.arg(index.row() + 1)
.arg(index.column() +1);
}
return QVariant();
}
... main.c中的QTableView不断在显示的单元格之外询问“索引”:
但是,当我将返回值更改为21000000
int MyModel::columnCount(const QModelIndex & /*parent*/) const
{
return 21000000;
}
...它按预期工作:
数字22000000有什么特别之处?
谢谢。