当前位置:网站首页>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
边栏推荐
猜你喜欢
LeetCode簡單題之計算字符串的數字和
LeetCode简单题之重新排列日志文件
The third divisor of leetcode simple question
LeetCode 1611. 使整数变为 0 的最少操作次数
vivo,硬件安全的爱与雷霆
The simple problem of leetcode is to calculate the numerical sum of strings
在线YAML转XML工具
Anti shake and throttling
Go语学习笔记 - 异常处理 | 从零开始Go语言
Install MySQL for Ubuntu and query the average score
随机推荐
An idea plug-in that doesn't work, but can install X
校园转转二手市场源码下载
Weekly leetcode - 06 array topics 7 ~ 739 ~ 50 ~ offer 62 ~ 26 ~ 189 ~ 9
常用正则表达式
刨析——浏览器如何工作
LeetCode 1611. 使整数变为 0 的最少操作次数
社区团购小程序源码+界面diy+附近团长+供应商+拼团+菜谱+秒杀+预售+配送+直播
Implementation principle of instanceof
DataBinding的使用五
岛屿的个数
Mobile terminal layout (3D conversion, animation)
PHP high precision computing
一篇文章看懂变量提升(hoisting)
vslam PPT
干货!以点为形:可微分的泊松求解器
User manual of Chinese version of solidity ide Remix
数据安全问题已成隐患,看vivo如何让“用户数据”重新披甲
mysql查询字符串类型的字段使用数字类型查询时问题
Canvas learning Chapter 1
智能名片小程序名片详情页功能实现关键代码