筛选搜索框 QT 返回的文件
Filtering files returned by search box QT
QString search = ui->searchComboBox->currentText();
if(search.isEmpty()){
search = "*";
}
files = currentDirectory.entryList(QStringList(search),
QDir::Files | QDir::NoSymLinks);
此代码在QString
搜索为空时返回文件。但是,当我在searchComboBox
中输入任何文本时,没有结果。
例如,如果我搜索的目录中有一个名为"don300.png"的文件,并且我搜索"don",则不会得到任何结果。
不确定在文件名中的任何位置搜索字符串时它是如何工作的?
没有通配符的搜索模式将执行完全匹配。在您的情况下,如果文本框不为空,则它仅与该名称完全匹配。只需将您的代码更改为:
QString search = ui->searchComboBox->currentText() + "*";
files = currentDirectory.entryList(QStringList(search),
QDir::Files | QDir::NoSymLinks);
如果searchComboBox
为空,则将*
搜索,如果您提供过滤器,则搜索模式将(例如(don*
(匹配以 don
开头的所有文件(。
通常,您可能希望更自由地匹配文本,因此您可以使用以下内容:
QString search = ui->searchComboBox->currentText();
if(search.isEmpty()) {
search = "*";
} else {
search = "*" + search + "*";
}
files = currentDirectory.entryList(QStringList(search),
QDir::Files | QDir::NoSymLinks);
仅供参考:
搜索模式结果 * 任何文件。 don* 以"don"开头的文件。 *don* 包含"don"的文件。
相关文章:
- 如何使 windows 命令提示符在C++可执行文件上显示返回值?
- AcquireCredentialsHandleA() 返回 PFX 文件的0x8009030e(安全包中没有可用的凭据
- C++模板编程设计问题 - 根据输入文件返回不同的类型
- 为什么生成文件返回 g++: 错误: h 文件或目录 make: *** [生成文件:12: 测试] 错误 1?
- 将单独的头文件和类定义文件链接到主函数文件 - G++ 返回重载"undefined reference to"构造函数
- tellg() 只对小文件返回 -1
- 使用关键字从文本文件返回数字
- 读/写二进制文件返回0xcccccccccccc
- QMediaPlaylist::addMedia() 对于不存在的文件返回 true
- QFileInfo::isExecutable() 为".exe"文件返回 false
- C++ 头文件返回对类型
- 类对象的向量C++文件返回程序
- C++ 搜索 TXT 文件返回 int.
- C 编程 - 查找第一个文件返回Invalid_handle_value
- 从文本文件返回输出的函数
- 从c++ MEX文件返回值到MATLAB
- C++自定义读取函数为文件夹中的前两个文件返回错误的值
- GetFileAttributes为不存在的文件返回FILE_ATTRIBUTE_ARCHIVE
- 使用c++从xml文件返回char*以外的数据类型时出错
- 为什么创建文件返回无效句柄