我是靠谱客的博主 清脆烤鸡,最近开发中收集的这篇文章主要介绍qt 扫描文件夹中的文件_知识-QT读取本地文件夹内容,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

内容纲要

QT读取本地文件夹

读取本地单个文件

QString file = QFileDialog::getOpenFileName(0, tr("Open a qds file"));

读取本地多个文件

QStringList files = QFileDialog::getOpenFileNames(

this,

"Select one or more files to open",

"/home",

"Images (*.png *.xpm *.jpg)");

读取本地目录下的文件

void PlayList::openFolders()

{

setPlayListFilePath();

clearList();

LoadAllFiles(PLAY_PATH);

}

void PlayList::setPlayListFilePath()

{

QString file = QFileDialog::getExistingDirectory();

if(file.isEmpty())

return;

PLAY_PATH = file;

emit play_pathChanged(PLAY_PATH);

}

void PlayList::LoadAllFiles(const QString &path)

{

// TODO: add url;

QFileInfoList files = getFileList(path);

if (files.isEmpty())

return;

// TODO: check playlist file: m3u, pls... In another thread

for (int i = 0; i < files.size(); ++i) {

QFileInfo file = files.at(i);

//qDebug()<< file << endl;

if (!file.isFile())

continue;

insert(file.absoluteFilePath(), i);

}

}

QFileInfoList PlayList::getFileList(const QString &path)

{

QDir dir(path);

//QStringList nameFilters;

//nameFilters << "*.mp4" << "*.avi" <

// << "*.yuv" << "*.mpg" <

//dir.setNameFilters(nameFilters);

//获取文件列表

//QStringList files = dir.entryList(nameFilters,QDir::Files|QDir::Readable, QDir::Name);

//获取文件信息

QFileInfoList file_list = dir.entryInfoList(QDir::Files | QDir::Hidden | QDir::NoSymLinks);

//QFileInfoList folder_list = dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot);

//以下为获取子目录文件信息

// for (int i = 0; i != folder_list.size(); i++) {

// QString name = folder_list.at(i).absoluteFilePath();

// QFileInfoList child_file_list = GetFileList(name);

// file_list.append(child_file_list);

// }

return file_list;

}

查找目录下某类型的所有文件信息

QFileInfoList PlayList::getFileList(const QString &path)

{

QDir dir(path);

QStringList nameFilters;

nameFilters << "*.mp4" << "*.avi" <

<< "*.yuv" << "*.mpg" <

dir.setNameFilters(nameFilters);

//获取文件列表

//QStringList files = dir.entryList(nameFilters,QDir::Files|QDir::Readable, QDir::Name);

//获取文件信息

QFileInfoList file_list = dir.entryInfoList(nameFilters,QDir::Files | QDir::Hidden | QDir::NoSymLinks);

QFileInfoList folder_list = dir.entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot);

//以下为获取子目录文件信息

// for (int i = 0; i != folder_list.size(); i++) {

// QString name = folder_list.at(i).absoluteFilePath();

// QFileInfoList child_file_list = GetFileList(name);

// file_list.append(child_file_list);

// }

return file_list;

}

查找目录下某类型的所有文件名称

QStringList testClass::findFiles(const QString &startDir, QStringList filters)

{

QStringList names;

QDir dir(startDir);

//搜索当前目录符合条件的文件

foreach (QString file, dir.entryList(filters, QDir::Files))

names += startDir + '/' + file;

//搜索当前目录的子目录符合条件的文件

foreach (QString subdir, dir.entryList(QDir::AllDirs | QDir::NoDotAndDotDot))

names += findFiles(startDir + '/' + subdir, filters);

return names;

}

函数调用方式

QStringList files = findFiles("./", QStringList() << "*.cpp" << "*.h");

其他转换

QFileInfo fileinfo(url.path()); //QUrl转换为QFileinfo

QDateTime::FromString(str,"yyyy-MM-dd hh:mm:ss"); //QString转换QDateTime

最后

以上就是清脆烤鸡为你收集整理的qt 扫描文件夹中的文件_知识-QT读取本地文件夹内容的全部内容,希望文章能够帮你解决qt 扫描文件夹中的文件_知识-QT读取本地文件夹内容所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(30)

评论列表共有 0 条评论

立即
投稿
返回
顶部