c++ - 有什么方法可以逃避 QDirIterator 中的 nameFilters 吗?

标签 c++ qt

我在当前目录中有[ThisIs] MyFile.zip 文件。我还有以下代码:

QDirIterator it("./", QStringList("[ThisIs] MyFile.zip"), QDir::Files);
bool has_next = it.hasNext();

为什么 has_next 返回 false?可能是因为文件名中的方括号字符。
有什么办法可以转义这些字符吗?

最佳答案

名称过滤器没有记录在任何地方。但合理的猜测是它们的工作方式与 QDir::setNameFilters 相同。这意味着他们使用 wildcard strings .

以下应该有效:

QDirIterator it("./", QStringList("[[]ThisIs[]] MyFile.zip"), QDir::Files);

关于c++ - 有什么方法可以逃避 QDirIterator 中的 nameFilters 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59971421/

相关文章:

sqlite - 数据库表不存在,但在尝试创建它时和之后都存在

c++ - Qt 运行单个应用程序

c++ - 在 QTreeView 中查找 QModelIndex 可见行的更简单方法

c++ - 是否有用于文件搜索的跨平台/C++ 库? (在硬盘上)

c++ - 如何创建特定大小的文本文件 C++

c++ - 如何将 wstring 转换为字符串作为转义符

c++ - 为什么 Qt 信号不是 const

android - iOS App 中的文本渲染

c++ - 如何使用重载函数作为函数模板的参数?

c++ - 以管理员身份运行命令行进程 Qt