在此记录一个常用的功能,获取文件夹下文件,或者文件夹的操作。并将该目录输出在combox控件上:
如下两个函数的作用分别是获取指定文件夹下的子文件夹,获取指定文件夹下的指定文件。注意可以通过setNameFilters获取所指定类型的文件。
//Dirs list
int QtGuiApplication::getDirs(const QString& dirName)
{
QDir* dirinfo = new QDir(dirName);
if (!dirinfo->exists()) {
delete dirinfo, dirinfo = nullptr;
return -1;
}
QStringList dirList = dirinfo->entryList(QDir::Dirs);
dirList.removeOne(".");
dirList.removeOne("..");
ui.comboBox->clear();
ui.comboBox->addItems(dirList);
delete dirinfo, dirinfo = nullptr;
return 0;
}
//Files list
int QtGuiApplication::getFiles(const QString& dirName)
{
QDir* dirinfo = new QDir(dirName);
if (!dirinfo->exists()) {
delete dirinfo, dirinfo = nullptr;
return -1;
}
dirinfo->setNameFilters(QStringList("*.png"));
QStringList fileList = dirinfo->entryList(QDir::Files);
fileList.removeOne(".");
fileList.removeOne("..");
ui.comboBox_2->clear();
ui.comboBox_2->addItems(fileList);
delete dirinfo, dirinfo = nullptr;
return 0;
}
结果如下: