Search code examples
qtqmodelindex

QAbstractTableModel: index() vs. createIndex()


When subclassing QAbstractTableModel, what's the proper way to get a QModelIndex for a given row and column (for example, to provide a convenience method data(int row, int column))?

There's index() and createIndex() - they both seem to do that?

Example:

TableModel::data(int row, int column, int role) const
{
    return data(index(row, column), role);
}

Solution

  • What you want is index(), createIndex() is what subclasses use to generate indexes. However, QModelIndex has a data() member. So, model->index(row, column).data(role) may be what you want. No need for a helper function.