QT怎么判断一个目录为空
1、1、QT中有一个叫QDir的类,这个类是针对目录进行操作相关的,通过查阅QT的帮助文档就可以看到该类和它支持的接口
2、2、下面通过QDir来实现判断目录是否为空的功能,主要是使用它里面的entryInfoList函数
3、3、点击entryInfoList,展开这个函数的详细解释,这个函数会返回目录所有的文件和子目录
QFileInfoList QDir::entryInfoList(Filters filters = NoFilter, SortFlags sort = NoSort)
返回一个QFileInfoList 的文件列表结构
4、4、接下来用代码简单实现判断
QDir dir("F:\\123test");
do
{
if (!dir.exists())
{
break;
}
dir.setFilter(QDir::Files | QDir::Dirs | QDir::NoDotAndDotDot);
QFileInfoList list = dir.entryInfoList();
int file_count = list.count();
if (file_count <= 0)
{
break;
}
QStringList string_list;
for (int i = 0; i < list.count(); i++)
{
QFileInfo file_info = list.at(i);
qDebug("name %s!", file_info.fileName());
}
} while (0);
5、5、接下来运行程序,在文件数量的位置下个断点,看看是否可以检查到文件数量,由下图可以看到获取的文件数是正确的
6、6、接下来把目录里的文件全删除,重新运行程序,看看能否判断为空,由下图可以看到获取的数量是0,所以可以通过这种方法来判断目录是否为空