Qt QFileDialog使用方法

news2024/11/24 9:10:27

头文件

#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)");
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2164346.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从更底层的角度理解网站的访问过程

文章目录 1.示例&#xff0c;访问www.baidu.com是如何返回数据的1.输入www.baidu.com回车2.检查本机的C:\Windows\System32\drivers\etc\hosts配置文件夹下有没有这个域名对应的映射&#xff1a; 1.示例&#xff0c;访问www.baidu.com是如何返回数据的 1.输入www.baidu.com回车…

18.2 k8s-apiserver监控源码解读

本节重点介绍 : k8s代码库和模块地址 下载 apiserver源码 apiserver中监控源码阅读 k8s源码地址分布 k8s代码库 访问github上k8s仓库&#xff0c;readme中给出了k8s 模块的代码地址举例图片 组件仓库列表 地址 Repositories currently staged here: k8s.io/apik8s.io/a…

Maven配置、下载教程(非常详细)

maven下载地址 Maven – 发行说明 – Maven 3.6.1 (apache.org) 1.配置settings.xml 下载完maven之后&#xff0c;保存在电脑中并解压 打开maven文件 -->conf-->settings.xml 使用记事本方式打开 打开之后找到这个地方&#xff0c;在电脑中创建一个文件夹(repository)…

起重机防摇摆技术如何达标-武汉正向科技

武汉正向科技防摇摆控制器 主要技术参数 1、防摇摆精度&#xff1a; 0.4 2、行车到达目标位置偏差位置偏差&#xff1a; 25mm 3、通讯方式&#xff1a;PROFINET / PROFIBUS / RS232 / RS422 / RS485&#xff1b; 4、消除载荷的摇摆达 96% 以上&#xff1b; 5、技术先进…

图像面积计算一般方法及MATLAB实现

一、引言 在数字图像处理中&#xff0c;经常需要获取感兴趣区域的面积属性&#xff0c;下面给出图像处理的一般步骤。 1.读入的彩色图像 2.将彩色图像转化为灰度图像 3.灰度图像转化为二值图像 4.区域标记 5.对每个区域的面积进行计算和显示 二、程序代码 %面积计算 cle…

- 串口通信

USART串口通信 目录 USART串口通信 回顾 USART串口通信 1、通信分类与作用 2、串口通信的相关参数&#xff08;重点&#xff09; 3、位协议层 -- RS232协议 4、STM32F103 中的串口外设 5、调试串口编程 -- &#xff08;1&#xff09;串口初始化&#xff1a;时钟、IO、…

【Git入门】使用 Git 进行项目管理:Word Count 程序开发与托管

在软件开发过程中&#xff0c;版本控制工具是不可或缺的。Git 作为一款强大的分布式版本控制工具&#xff0c;为开发者提供了高效的代码管理和协作方式。本博客将介绍如何下载安装 Git 版本管理工具&#xff0c;并使用 Git 和 GitHub 平台进行一个名为 Word Count 的项目开发与…

【鸿蒙HarmonyOS NEXT】数据存储之关系型数据库RDS

【鸿蒙HarmonyOS NEXT】数据存储之关系型数据库RDS 一、环境说明二、关系型数据库RDS介绍三、示例代码加以说明四、小结 一、环境说明 DevEco Studio 版本&#xff1a; API版本&#xff1a;以12为主 二、关系型数据库RDS介绍 1. RDS关系型数据库简介&#xff1a; 关系型数…

VMware提供虚拟硬盘并使得Oracle Linux集群共享块设备并绑定raw设备。

一、Vmware操作 nodeA : 1、创建SCSI控制器:类型为物理。 添加新磁盘。 类型为独立-持久。 nodeB: 新增磁盘,但是选择node A刚才创建的磁盘。 类型:独立-持久。 二、OS层操作 两台都要做绑定。 详细步骤 1. 创建 raw 设备节点 首先,确保 /dev/raw 目录存在。如果不…

5分钟精通Excel在go中的使用

一些简单操作可以在官方文档中找到&#xff0c;应该足够无经验的朋友们入门 介绍 - 《Excelize v2.2 中文文档》 - 书栈网 BookStack 这里贴一个中文版的链接&#xff08;以excelize库为例&#xff0c;相对其他库来说&#xff0c;体验很不错&#xff09;&#xff0c;不过要注…

沉浸式艺术创作:FLUX.1模型下的Java开发者体验之旅

文章目录 1 FLUX.1革命2 应用落地3 部署ComfyUI4 部署FLUX.15 导入工作流6 新的挑战 1 FLUX.1革命 FLUX.1&#xff1a;图像生成的新纪元 在人工智能的图像生成领域&#xff0c;FLUX.1模型的出现标志着一个新的时代。 由黑森林实验室&#xff08;Black Forest Labs&#xff0…

Android 车载应用开发指南 - CarService 详解(下)

车载应用正在改变人们的出行体验。从导航到娱乐、从安全到信息服务&#xff0c;车载应用的开发已成为汽车智能化发展的重要组成部分。而对于开发者来说&#xff0c;如何将自己的应用程序无缝集成到车载系统中&#xff0c;利用汽车的硬件和服务能力&#xff0c;是一个极具挑战性…

数据报文解析

数据报文解析 报文介绍 如下图所示&#xff0c;每一层把上传的协议包当作数据部分&#xff0c;加上自己的协议头部&#xff0c;组成自己的协议包。 一般说法&#xff1a;默认以太网协议包&#xff08;网络层从IP头部开始计算&#xff09;最大传输单元&#xff08;MTU&#x…

记一次sql查询优化

记一次sql查询优化 前言 这是我在这个网站整理的笔记,有错误的地方请指出&#xff0c;关注我&#xff0c;接下来还会持续更新。 作者&#xff1a;神的孩子都在歌唱 今天测试环境发现一个问题&#xff0c;就是测试同事在测试的时候&#xff0c;发现cpu一直居高不下&#xff0c;然…

CNN网络训练WISDM数据集:模型仿真及可视化分析

卷积神经网络&#xff08;CNN&#xff09;因其强大的特征提取能力和深度学习架构而备受推崇&#xff0c;CNN在处理图像数据时展现出的卓越性能&#xff0c;使其成为解决各种视觉识别任务的首选工具。WISDM数据集是一个广泛用于运动估计研究的基准数据集&#xff0c;它包含了多个…

EmguCV学习笔记 VB.Net 11.9 姿势识别 OpenPose

版权声明&#xff1a;本文为博主原创文章&#xff0c;转载请在显著位置标明本文出处以及作者网名&#xff0c;未经作者允许不得用于商业目的。 EmguCV是一个基于OpenCV的开源免费的跨平台计算机视觉库,它向C#和VB.NET开发者提供了OpenCV库的大部分功能。 教程VB.net版本请访问…

AMEYA360代理:兆易创新GD32A7系列全新一代车规级MCU介绍

兆易创新GigaDevice(股票代码 603986)今日宣布&#xff0c;重磅推出全新一代车规级MCU GD32A7系列。与上一代采用Arm Cortex-M4/M33的产品相比&#xff0c;GD32A7系列搭载了超高性能Arm Cortex-M7内核&#xff0c;提供GD32A71x/GD32A72x/GD32A74x等多款型号供用户选择。该系列产…

git 生成和查看密钥

项目场景&#xff1a; 在前端项目开发中&#xff0c;经常会用到git。一般的小公司很少去设置git令牌或者密钥&#xff1b;而在一些大公司&#xff0c;会用到这个。今天主要整理下git如何生成和查看密钥。 密钥 1、生成密钥 cat ~/.ssh/id_rsa.pub 2、查看密钥 ssh-keygen…

电容笔最建议买哪一款?2024百元价位性价比首选榜单,速速码住!

现在电容笔已经成为我们日常学习、工作和创作中不可或缺的辅助工具。无论是记笔记、做习题&#xff0c;还是进行绘画、设计&#xff0c;电容笔都发挥着关键作用。然而&#xff0c;市场上的电容笔品牌和款式繁多&#xff0c;价格也从几十元到上千元不等&#xff0c;这让消费者在…

OSError: [Errno 16] Device or resource busy: ‘.nfs*‘报错解决办法

目录 1 项目场景&问题描述&#xff1a;2 原因分析&#xff1a;2.1 问题背景&#xff1a; 3 解决方案&#xff1a;3.1 创建存放临时文件的目录3.2 使用该目录3.2.1 设置环境变量 TMPDIR3.2.2 运行时设置&#xff08;推荐&#xff09;3.2.3 代码中设置 4 总结 1 项目场景&…