当前位置: 首页 > news >正文

Qt QFileDialog使用方法

头文件

#include <QFileDialog>

成员名称返回值说明
getExistingDirectoryQString返回用户选中的文件夹路径
getExistingDirectoryUrlQUrl与QFileDialog::getExistingDirectory()的主要区别来自于为用户提供的选择远程目录的能力
getOpenFileNameQString返回用户选中的文件名
getOpenFileNamesQStringList返回用户选中的多条文件名
getOpenFileUrlQUrl为用户提供的选择远程文件的能力
getOpenFileUrlsQList<QUrl>为用户提供的选择多个远程文件的能力
getSaveFileNameQString保存本地对话框
getSaveFileUrlQUrl为用户提供保存远程保存文件的对话框

Options 对话框选项

名称说明
QFileDialog::ShowDirsOnly仅在文件对话框中显示目录。默认情况下,文件和目录都显示出来。(仅在目录文件模式下有效)
QFileDialog::DontResolveSymlinks不要在文件对话框中解析符号链接。默认情况下符号链接被解析
QFileDialog::DontConfirmOverwrite不要询问是否选择了现有的文件。默认情况下请求确认
QFileDialog::DontUseNativeDialog不要使用本机文件对话框。默认情况下,除非使用包含Q_OBJECT宏的QFileDialog子类,或者平台没有所需类型的本机对话框,否则将使用本机文件对话框
QFileDialog::ReadOnly指示模型是只读的
QFileDialog::HideNameFilterDetails指示文件名筛选器细节是否隐藏
QFileDialog::DontUseSheet在以前的Qt版本中,如果静态函数有一个父函数,那么静态函数将默认创建一个工作表。这不再被支持,在Qt 4.5中什么也不做,静态函数将始终是一个应用程序模式对话框。如果希望使用工作表,可以使用QFileDialog::open()
QFileDialog::DontUseCustomDirectoryIcons

始终使用默认的目录图标。有些平台允许用户设置不同的图标。自定义图标查找会对网络或可移动驱动器的性能造成很大影响。设置此选项将启用图标提供程序中的QFileIconProvider::DontUseCustomDirectoryIcons选项。这个enum值是在Qt 5.2中添加的。

UI界面(右边的窗体):

由于是从ui界面转到槽,来写的槽函数,所以没有手写connect函数

getExistingDirectory 返回用户选中的文件夹路径

//获取文件夹路径
void Widget::on_buttonDirectory_clicked()
{QString path = QFileDialog::getExistingDirectory(this,               //指定父对象"获取一个文件夹路径",  //标题"../");             //工作路径QString tempStr= QString("%1 %2").arg("当前获取的文件夹路径为:").arg(path);ui->textEdit->setText(tempStr);
}

getOpenFileName 返回用户选中的文件路径

//获取文件路径
void Widget::on_buttonFileName_clicked()
{QString path = QFileDialog::getOpenFileName(this,                   //指定父对象"获取文件路径",           //标题"../",                  //工作路径"TXT(*.txt);;Image(*.png *jpg)");        //过滤格式;;过滤格式...QString tempStr= QString("%1 %2").arg("当前获取的文件路径为:").arg(path);ui->textEdit->setText(tempStr);
}

填写过滤格式参数时,是可以过滤多个格式的,只需在后面加上 " ;; "然后继续填写 格式名(*.后缀)。

"TXT(*.txt) ;; Image(*.png *jpg)"

getOpenFileNames 返回用户选中的多个文件路径

//获取多个文件路径
void Widget::on_buttonFileNames_clicked()
{QStringList pathList = QFileDialog::getOpenFileNames(this,                   //指定父对象"获取多个文件路径",        //标题"../",                  //工作路径"TXT(*.txt)");          //过滤格式ui->textEdit->setText(QString("您当前选择了 %1 个文件").arg(QString::number(pathList.size())));for(int i = 0;i < pathList.size(); ++i){QString tempStr= QString("当前获取的文件 %1 的路径为:%2").arg(i+1).arg(pathList.at(i));ui->textEdit->append(tempStr);}
}

在上方3个例子中都有使用到QT字符串格式化QString::arg(),点这里有单独的一篇关于QT字符串格式化的文章哦

getSaveFileName 保存文件对话框

//保存文件对话框
void Widget::on_buttonSaveFile_clicked()
{QString path = QFileDialog::getSaveFileName(this,"保存文件对话框","../","TXT(*.txt)");
}

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 多重身份验证:保护数字生活的防线
  • 函数计算 FC:首发 GPU 极速模式,更弹性、更降本
  • HarmonyOS Next开发----使用XComponent自定义绘制
  • 怎么用gitee做一个图片仓库,在md文档中用这个图片网络地址,然后显示图片
  • 内置函数sorted()与方法sort()的区别、内置函数reversed()与方法reverse()的区别
  • Redis生产环境性能优化
  • Sqlite_Datetime列选择三月的行
  • 手写js中call、apply、bind函数
  • Java—反射机制详解
  • [linux][证书]证书导出公钥
  • 探索MemGPT:AI界的新宠儿
  • spring boot导入多个配置文件
  • C#用SDK打开海康工业相机,callback取图Bitmap格式,并保存
  • React启动时 Error: error:0308010C:digital envelope routines::unsupported
  • 三维手势 handpose 3D RGB 手势3D建模 三维建模-手势舞 >> DataBall
  • (ckeditor+ckfinder用法)Jquery,js获取ckeditor值
  • [数据结构]链表的实现在PHP中
  • 《剑指offer》分解让复杂问题更简单
  • 【每日笔记】【Go学习笔记】2019-01-10 codis proxy处理流程
  • Computed property XXX was assigned to but it has no setter
  • E-HPC支持多队列管理和自动伸缩
  • el-input获取焦点 input输入框为空时高亮 el-input值非法时
  • ES学习笔记(12)--Symbol
  • Flex布局到底解决了什么问题
  • IE报vuex requires a Promise polyfill in this browser问题解决
  • input实现文字超出省略号功能
  • iOS筛选菜单、分段选择器、导航栏、悬浮窗、转场动画、启动视频等源码
  • Lsb图片隐写
  • Redis 中的布隆过滤器
  • Selenium实战教程系列(二)---元素定位
  • Spring Boot MyBatis配置多种数据库
  • 持续集成与持续部署宝典Part 2:创建持续集成流水线
  • 机器学习中为什么要做归一化normalization
  • 一份游戏开发学习路线
  • 一个普通的 5 年iOS开发者的自我总结,以及5年开发经历和感想!
  • 中文输入法与React文本输入框的问题与解决方案
  • 容器镜像
  • ​人工智能之父图灵诞辰纪念日,一起来看最受读者欢迎的AI技术好书
  • #HarmonyOS:软件安装window和mac预览Hello World
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • $.extend({},旧的,新的);合并对象,后面的覆盖前面的
  • (JSP)EL——优化登录界面,获取对象,获取数据
  • (Matalb时序预测)WOA-BP鲸鱼算法优化BP神经网络的多维时序回归预测
  • (八)Docker网络跨主机通讯vxlan和vlan
  • (四)搭建容器云管理平台笔记—安装ETCD(不使用证书)
  • (一)认识微服务
  • (原+转)Ubuntu16.04软件中心闪退及wifi消失
  • (转)C语言家族扩展收藏 (转)C语言家族扩展
  • (转)从零实现3D图像引擎:(8)参数化直线与3D平面函数库
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • (转)项目管理杂谈-我所期望的新人
  • ***汇编语言 实验16 编写包含多个功能子程序的中断例程
  • *算法训练(leetcode)第四十五天 | 101. 孤岛的总面积、102. 沉没孤岛、103. 水流问题、104. 建造最大岛屿
  • .360、.halo勒索病毒的最新威胁:如何恢复您的数据?
  • .NET C# 配置 Options