当前位置:网站首页>QFileDialog 选择多个文件或文件夹
QFileDialog 选择多个文件或文件夹
2022-04-23 07:15:00 【欧特_Glodon】
Qt提供了QFileDialog 用来选择文件或者文件夹,具体用法如下:
#include <QDebug>
#include <QFileDialog>
// 选择一个或多个文件
void Dialog::on_pushBtn_Files_clicked()
{
// 快速选择一个文件
//QString sFileName = QFileDialog::getOpenFileName(this,"选择文件","/","C++ files(*.cpp);;C files(*.c);;Head files(*.h)");
//qDebug() << "文件名称:" << sFileName;
QFileDialog *fileDialog = new QFileDialog(this);
fileDialog->setFileMode(QFileDialog::Directory);
//设置窗口的标题
fileDialog->setWindowTitle("请选择文件");
//也可以使用下面代码设置多个过滤器
QStringList filters;
filters << "Image files (*.png *.xpm *.jpg)"
<< "Text files (*.txt)"
<< "Any files (*)";
fileDialog->setNameFilters(filters); //这个函数名称后面多了一个s,表示设置多个过滤器。要看清楚。
//QFileDialog::ExistingFiles 多个文件,还可以用来选择文件夹QFileDialog::Directory。
fileDialog->setFileMode(QFileDialog::ExistingFiles);
//如果是要保存文件,那就需要再设置一下
//fileDialog.setAcceptMode(QFileDialog::AcceptSave);
//弹出对话框
if (fileDialog->exec() == QDialog::Accepted)
{
QStringList listFiles = fileDialog->selectedFiles();
for (auto fileName : listFiles)
{
qDebug() << "文件名称:" << fileName;
}
}
}
// 选择文件夹
void Dialog::on_pushBtn_Dir_clicked()
{
QFileDialog *fileDialog = new QFileDialog(this);
fileDialog->setFileMode(QFileDialog::Directory);
fileDialog->exec();
auto selectDir = fileDialog->selectedFiles();
if (selectDir.size()>0)
{
qDebug() << "文件夹名称:" << selectDir.at(0);
}
}
版权声明
本文为[欧特_Glodon]所创,转载请带上原文链接,感谢
https://blog.csdn.net/m0_37251750/article/details/124297836
边栏推荐
猜你喜欢

idea:使用easyYapi插件导出yapi接口

Thinkphp6 + JWT realizes login verification

Feign source code analysis

三星,再次“西征”

Kubernetes in browser and IDE | interactive learning platform killercoda

校园转转二手市场源码下载

使用 Ingress 实现金丝雀发布

Anti shake and throttling

智能名片小程序名片详情页功能实现关键代码

Weekly leetcode - 06 array topics 7 ~ 739 ~ 50 ~ offer 62 ~ 26 ~ 189 ~ 9
随机推荐
Upload labs range practice
以下程序实现从字符串str中删除第i个字符开始的连续n个字
扎心了!一女子发朋友圈羡慕别人按时发工资被开除,连点赞的同事也一同被开除了...
Jetson Xavier NX (3) bazel mediapipe installation
C 输出一种二维数组,特点如下。
总线结构概述
Ignis公链的NFT生态发展:Unicorn.art的捐赠开发之路
Solidity IDE Remix中文版使用手册
Codeforces Round #784 (Div. 4)
clang 如何产生汇编文件
搜一下导航完整程序源码
Install MySQL for Ubuntu and query the average score
js常用数组方法
Draw a circle quickly in MATLAB (the one that can be drawn directly given the coordinates and radius of the center of the circle)
高精度焊接机械臂定位
巨头押注的全屋智能,正在驱动海信、华为、小米们「自我革命」
简述存储器的分级策略
2022.4.11-4.17 AI行业周刊(第93期):AI行业的困局
访问数据库的时候出现错误 Operation not allowed for a result set of type ResultSet.TYPE_FORWARD_ONLY.详解
Jetson Xavier NX(3)Bazel Mediapipe 安装