Что ж, в предположении, что вы имеете в виду только чтение для конечного пользователя, а не только для чтения программистом, эта статья объясняет, что модель доступна для редактирования только при повторной реализации QAbstractItemModel::flags()
, QAbstractItemModel::setData()
и, что не менее важно QAbstractItemModel::setHeaderData()
.
Кроме того, функции, которые необходимо переопределить для модели только для чтения, : all const
:
Qt::ItemFlags TreeModel::flags(QModelIndex const & index) const { }
QModelIndex TreeModel::index(int row, int column, QModelIndex const & parentIndex) const { }
QModelIndex TreeModel::parent(QModelIndex const & childIndex) const { }
QVariant TreeModel::data(QModelIndex const & index, int role) const { }
QVariant TreeModel::headerData(int section, Qt::Orientation orientation, int role) const { }
int TreeModel::rowCount(QModelIndex const & parent) const { }
int TreeModel::columnCount(QModelIndex const & parent) const { }