Qt 获取选择的文件夹和文件路径

Qt 获取选择的文件夹和文件路径

获取文件夹路径

1 static QString getExistingDirectory(QWidget *parent = Q_NULLPTR,
2                                     const QString &caption = QString(),
3                                     const QString &dir = QString(),
4                                     Options options = ShowDirsOnly);
5 参数1:父窗口
6 参数2:弹出界面的菜单栏文字 
7 参数3:打开的初始目录 比如“/”表示根目录

使用方法

 1 void Widget::on_openSrcDirPushButton_clicked()
 2 {
 3     //文件夹路径
 4     srcDirPath = QFileDialog::getExistingDirectory(
 5                this, "choose src Directory",
 6                 "/");
 7 
 8     if (srcDirPath.isEmpty())
 9     {
10         return;
11     }
12     else
13     {
14         qDebug() << "srcDirPath=" << srcDirPath;
15         srcDirPath += "/";
16     }
17 }

注意:
qDebug() << "srcDirPath=" << srcDirPath;输入我们打开目录的路径,比如:/mnt/hgfs,这时候如果我们要读取这个目录下的文件,此时路径应为这里写代码片/mnt/hgfs/然后加上文件名才是文件的全路径。不过或许大家用不到srcDirPath += “/”;`这一句。

CSDN Qt学习路线:Qt开发必备技术栈学习路线和资料

获取文件路径(选择文件):

获取文件路径使用getOpenFileName即可。使用方法和getExistingDirectory类似。

 1 static QString getOpenFileName(QWidget *parent = Q_NULLPTR,
 2                                const QString &caption = QString(),
 3                                const QString &dir = QString(),
 4                                const QString &filter = QString(),
 5                                QString *selectedFilter = Q_NULLPTR,
 6                                Options options = Options());
 7 参数1:父窗口
 8 参数2:弹出界面的菜单栏文字 
 9 参数3:打开的初始目录 比如“/”表示根目录  
10 参数4:设置打开的文件类型   
11 参数5:看代码。。。

使用方法:

 1 void Widget::slotBtnClick()
 2 {
 3     QString s = QFileDialog::getOpenFileName(
 4                 this, "选择要播放的文件",
 5                 "/",
 6                 "视频文件 (*.flv *.rmvb *.avi *.mp4);; 所有文件 (*.*);; ");
 7     qDebug() << "path=" << s;
 8     if (!s.isEmpty())
 9     {
10 
11     }
12 }

另外的方法:

1 QString file_full, file_name, file_path;  
2 QFileInfo fi;  
3   
4 file_full = QFileDialog::getOpenFileName(this);  
5   
6 fi = QFileInfo(file_full);  
7 file_name = fi.fileName();  
8 file_path = fi.absolutePath();
 1 void monizhuzhan::filenameInDir()
 2 {
 3     //判断路径是否存在
 4     QDir dir(path);
 5     if(!dir.exists())
 6         return;
 7  
 8     //查看路径中后缀为.cfg格式的文件
 9     QStringList filters;
10     filters<

其中注释部分可实现将文件名称存入到txt中。

总体思路:得到路径--去除路径下的无效文件--统计个数--获取文件名称

本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QT嵌入式开发,Quick模块等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓

你可能感兴趣的:(QT开发,qt,qt5,c++,qt教程,嵌入式)