gol*_*log 14 c++ qt filter qdir
setNameFilters没有按照我的预期工作,所以如果有人能解释我是否错误地使用它,或者这可能是Qt中的错误:
这是我的代码示例:
QDir export_folder("C:\path");
QStringList fileList = export_folder.setNameFilters(QStringList()<<"*.exe");
Run Code Online (Sandbox Code Playgroud)
处理完后,fileList包含字符串"test.exe1"
我希望fileList只包含扩展名为.exe NOT .exe*的文件.
如果我希望文件扩展名长于.exe,我希望将其"*.exe*"作为我的过滤器.
有人可以帮助澄清,还是我事后必须手动处理我的fileList?
小智 20
对于初学者,setNameFilters不返回QStringList,它什么都不返回.您的代码应如下所示:
QDir export_folder("C:\\path");
export_folder.setNameFilters(QStringList()<<"*.exe");
QStringList fileList = export_folder.entryList();
Run Code Online (Sandbox Code Playgroud)
在Qt 5.0.1的Linux中,过滤按预期工作(不返回以"exe2"结尾的文件).