QModelIndex有三个要素:行row 列column 父节点索引parent
但是注意我们并不能定义一个QModelIndex
QModelIndex的构造函数QModelIndex()的功能是创建一个新的空的QModelIndex
QModelIdex()是一个空索引,它其实可以代表任意model中的顶层节点,例如TableModel中每个Item的父节点都是顶层节点,所以每个Item的索引中的parent都是QModelIndex;【1】
可以获得QModelIndex 的方法有两种:
1.通过Model中的成员函数index()取得,详见下【2】
2.通过和Model绑定的View的成员函数取得,详见下【3】
举例:
class TabelModel : pulic QAbstractTableModel
auto table = new TableModel();
auto tableView = new QTableView();
tableView.setModel(table);
QModelIndex index1 = tableView.currentIndex ();//【3】
//QModelIndex Model::index(int row, int column, QModelIndex parent)
QModelIndex index2 = tabel.index(0,0,QModelIndex());//【2】【1】