QSortFilterProxyModel 项中文件和文件夹的完整信息
full information of files and folders in QSortFilterProxyModel items
我在QTreeView中使用QSortFilterProxyModel来浏览目录的所有文件和文件夹。它工作正常。 但我的问题是当我点击QTreeView的任何项目时。我无法像完整路径一样获得它的信息。任何人都可以告诉我如何获取文件的完整路径。
谢谢
您可以通过以下方式计算完整路径。首先,您需要通过将clicked()
信号连接到适当的插槽来跟踪QTreeView
上的鼠标单击:
connect(treeview, SIGNAL(clicked(const QModelIndex &)), this, SLOT(onItemClicked(const QModelIndex &));
在您的插槽中,您可以调用帮助程序函数,该函数将返回单击的树节点的完整路径:
void TreeView::onItemClicked(const QModelIndex &index)
{
QString path = fullPath(index);
// ..
}
QString TreeView::fullPath(const QModelIndex &index)
{
QString path('/');
QModelIndex parent = index;
while (parent.isValid()) {
path.prepend('/' + parent.data().toString());
parent = parent.parent();
}
return path;
}
相关文章:
- 如何将更多文件夹添加到c++include路径
- GetShortPathName在网络驱动器上使用中文文件夹时失败
- VS2017,C++包含目录与附加包含目录,子文件夹包含失败-但为什么
- 在 Windows 上,是否可以让 dll 在不使用 PATH 环境变量的情况下在另一个文件夹中查找依赖项?
- 如何在文档文件夹中创建目录
- "assimp/config.h"找不到,但它在文件夹中
- C++入门 5 版:类消息和文件夹
- 我可以在 Arduino 的库文件夹之外安装库吗?
- 如何按文件扩展名引用文件夹中的文件
- 在QTreeView中仅显示共享驱动器和文件夹
- 加载与引用 .NET DLL 位于同一文件夹中的引用的 .NET DLL 时"Not found"异常
- 介子复制/安装头文件到输出目录并保持文件夹结构
- vcruntime.h 从 Windows 包含文件夹中丢失?
- 在文件夹迭代上实现 RAII
- 使用 Powershell 命令将 cpp 文件的文件夹编译为 GNU 的 g++
- 使文件夹中的所有文件可供所有项目(子目录)访问
- 无法使用 CMake 从其他文件夹添加源文件
- 为什么 Boost 和其他库的某些部分(如 Folly)在详细信息子文件夹中
- QSortFilterProxyModel 项中文件和文件夹的完整信息
- 在使用mkdir()创建一个文件夹后,我如何让程序将文件和其他信息保存到新文件夹中?