QDir.setNameFilter如何仅显示具有特定扩展名的文件
QDir.setNameFilter how to show only files with specific extensions?
setNameFilters不像我预期的那样工作,所以如果有人能解释我是否使用不当,或者这可能是Qt中的一个bug:
下面是我的代码示例:QDir export_folder("C:path");
QStringList fileList = export_folder.setNameFilters(QStringList()<<"*.exe");
处理后的fileList包含字符串"test.exe1"
我希望fileList只包含扩展名为。exe的文件,而不是。exe*.
如果我想要的文件扩展名比。exe长,我希望把"*.exe*"
作为我的过滤器。
有人可以帮助澄清,或者我手动处理我的fileList后的事实?
对于初学者,setNameFilters
不返回QStringList
,它什么也不返回。你的代码应该像这样:
QDir export_folder("C:\path");
export_folder.setNameFilters(QStringList()<<"*.exe");
QStringList fileList = export_folder.entryList();
过滤在Qt 5.0.1的Linux中按预期工作(不返回以"exe2"结尾的文件)。
另外,如果您想显示具有多种扩展名的文件,您可以这样做:
export_folder.setNameFilters( QStringList() << "*.exe" << "*.pdf" << "*.docx" << "*.jpg" );
相关文章:
- 如何按文件扩展名引用文件夹中的文件
- 为什么我无法打开/读取从 Python 调用的 C 扩展名中的 txt 文件?
- 使用Boost文件系统C++将具有特定扩展名的文件的名称保存在特定文件夹中
- 共享库 (.so) 没有扩展名的 Linux 可执行文件之间的区别?
- CMake 不编译具有非标准扩展名的文件
- Visual Studio 2019 - 设置文件类型的默认扩展名
- 如何在 Windows 上获取带有 c++ 且没有 <dirent.h> 的特定扩展名的所有文件的列表
- 谁能告诉我,程序中的错误是什么?该程序仅用于获取文件扩展名
- 如何在 vscode 扩展名中检索 C/C++ 文件的编译命令
- 通过cMake使用具有自定义文件扩展名的共享库
- 如何在 CMake 中"override"文件的按扩展名类型
- 在另一个字符串中插入文件扩展名之前的字符串
- 如何在不使用文件扩展名的情况下使用命令行参数打开C++中的文本文件?
- 使用FindFirstFile和FindNextFile递归查找具有特定扩展名的文件
- 如何在C++中打开以特定扩展名结尾的文件
- 头文件中.h扩展名的意义是什么?
- 按扩展名过滤搜索文件会返回太多结果
- 通过扩展名搜索特定文件夹Winapi32
- Eclipse CDT:传递具有相同文件扩展名的多个程序参数
- 使用 .ipp 扩展名和.cpp扩展名文件的区别