将绝对路径转换成QAbstractItemModel使用的index的C++完整代码
时间: 2024-05-06 14:17:40 浏览: 19
以下是将绝对路径转换为QAbstractItemModel使用的index的C++完整代码:
```c++
QModelIndex indexFromPath(const QString& path, QAbstractItemModel* model) {
QStringList nodes = path.split('/', QString::SkipEmptyParts);
QModelIndex index = QModelIndex();
for (int i = 0; i < nodes.size(); ++i) {
bool found = false;
for (int j = 0; j < model->rowCount(index); ++j) {
QModelIndex child = model->index(j, 0, index);
if (child.data().toString() == nodes[i]) {
index = child;
found = true;
break;
}
}
if (!found) {
return QModelIndex();
}
}
return index;
}
```
此函数接受一个QString形式的绝对路径和一个QAbstractItemModel指针。它将路径分割成节点,并在模型中搜索每个节点。如果找到节点,则将索引更新为该节点的索引。如果找不到节点,则返回无效索引。
相关推荐
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)