日期:2014-05-16  浏览次数:20869 次

QT只读目录下的所有文件夹
想问一下,
怎么样才能用QDir让QT只读出目录下的所有文件夹
我用了entrylist(QDir::Dirs)使它返回一个QSTRINGLIST,但是怎么样才可以把里面的数取出来啊

------解决方案--------------------
1、QT只读出目录下的所有文件夹?
我不知道怎么用QDir实现,有一个程序代码,给你参考:
QString dir = QFileDialog::getExistingDirectory(this,
tr("选择查找路径"),
QDir::currentPath(),
QFileDialog::ShowDirsOnly);
ShowDirsOnly指示文件对话框只显示目录。

2、什么叫“把里面的数取出来”?
我理解你想把文件夹名读出来。
QStringList folders;
folders = dir.entryList(QDir::Dirs | QDir::NoDotAndDotDot);
entrylist函数获取当前文件夹下所有子文件夹列表,并存到folders。

for (int i = 0; i < folders.size(); ++i)//开始找
{
qApp->processEvents();//在查找时可以处理其它事件,如关闭

QString strDir = QString("%1/%2").arg(dir.absolutePath()).arg(folders[i]);
//文件夹路径存到strDir,下面可以将它打印出来
…………
}