首页 >> 知识 >> QModelIndex的使用

QModelIndex的使用

最近使用QTreeView,一开始对于很多函数中针对item的唯一标识QModelIndex的使用是无从下手,记录下两种对于QModelIdex的使用

1,树形结构的item设置为选中

QModelIndex rootIndex; QModelIndex robotsIndex; QModelIndex nonmobilesIndex; rootIndex = treeView->model()->index(0, 0);//最顶层item的index robotsIndex = treeView->model()->index(10, 0, rootIndex);//选中item父亲的index nonmobilesIndex = treeView->model()->index(1, 0, robotsIndex);//选中item的index treeView->setCurrentIndex(nonmobilesIndex);//这种方法使用的绝对路径,但暂时没找到其他方式设置初始化时选中。

2,通过index读取建立item时setData的数据

直接通过index读取的数据是错误的一直显示0,需要获取建立QTreeView时的QStandardItemModel即treeView->setModel(itemModel)中的itemModel

QStandardItemModel *   standardModel = static_cast < QStandardItemModel*>(itemModel); QStandardItem *   currentItem = standardModel->itemFromIndex(index); QVariant data = currentItem->data();

data可转换成任意格式。

网站地图