qt-C++笔记之点击按钮弹出文件资源管理器选择文件后把文件路径赋值给一个QString

qt-C++笔记之点击按钮弹出文件资源管理器选择文件后把文件路径赋值给一个QString

code review!

文章目录

  • qt-C++笔记之点击按钮弹出文件资源管理器选择文件后把文件路径赋值给一个QString
    • 1.运行
    • 2.main.cpp
    • 3.qt_FileDialog.pro
    • 4.QFileDialog类详解

1.运行

在这里插入图片描述

2.main.cpp

在这里插入图片描述

代码

#include<QApplication>
#include<QFileDialog>
#include<QPushButton>
#include<QWidget>
#include<QString>
#include<string>
#include<QDebug>

int main(int argc,char* argv[]){
    QApplication app(argc,argv);
    QWidget window;

    QPushButton button("select file",&window);

    QObject::connect(&button,&QPushButton::clicked,[&](){
       QString filePath = QFileDialog::getOpenFileName(&window,"slect file","","all files(*.*)");
       qDebug()<<"selectd file path:"<<filePath;
    });

    window.show();

    return app.exec();
}

3.qt_FileDialog.pro

QT += widgets

TARGET = qt_FileDialog 

TEMPLATE = app

SOURCES += main.cpp

4.QFileDialog类详解

QFileDialog类是Qt框架提供的一个用于文件选择和保存对话框的类。它允许用户浏览文件系统并选择文件或指定保存文件的位置。以下是QFileDialog类的一些常用方法和功能的详细解释:

  1. 静态方法getOpenFileNamegetOpenFileNames

    • static QString getOpenFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, Options options = Options())

    • static QStringList getOpenFileNames(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, Options options = Options())

    这些静态方法用于打开文件选择对话框并返回用户选择的文件路径(对于getOpenFileName)或多个文件路径(对于getOpenFileNames)。参数说明如下:

    • parent:父窗口,指定对话框的父窗口。
    • caption:对话框标题,显示在对话框的标题栏上。
    • dir:默认打开的文件夹路径。
    • filter:文件过滤器,指定要显示的文件类型。
    • selectedFilter:指向字符串的指针,用于存储用户选择的过滤器。
    • options:附加选项,用于配置对话框的行为,例如显示隐藏文件、选择多个文件等。
  2. 静态方法getSaveFileName

    • static QString getSaveFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, Options options = Options())

    这个静态方法用于打开保存文件对话框并返回用户选择的保存文件路径。参数和用法与getOpenFileName类似。

  3. 过滤器字符串

    ``QFileDialog`使用过滤器字符串来指定要显示的文件类型。过滤器字符串由多个过滤器描述组成,每个过滤器描述由过滤器名称和过滤器模式组成,中间用空格分隔。例如,“Image Files (*.png *.jpg *.bmp)”。

  4. 对话框选项

    ``QFileDialog::Options`是一个枚举类型,用于指定对话框的行为。一些常用的选项包括:

    • QFileDialog::ReadOnly:只读模式,用户只能选择现有的文件,不能创建新文件。
    • QFileDialog::DontUseNativeDialog:禁用操作系统原生文件对话框,使用Qt框架提供的对话框。
    • QFileDialog::DontResolveSymlinks:不解析符号链接,显示链接的目标文件路径。

这些只是QFileDialog类的一些常用方法和功能。该类还提供其他方法和信号,以便更精细地控制文件对话框的行为和与其交互。可以查阅Qt官方文档以获取更详细的信息和示例代码:QFileDialog Class | Qt Documentation。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

loading...字符变化动画

公司业务一个简单的需求loading...文字动画&#xff0c;不想用js实现&#xff0c;问过GPT后学习了css写法 效果预览 代码实现 keyframes text-change {0% { content: "."; }33% { content: ".."; }66% { content: "..."; }}.text_loading_anima…

⭐ Unity 里让 Shader 动画在 Scene 面板被持续刷新

写 Unity Shader的时候&#xff0c;只有播放状态下的 Game 面板能看到Shader 顺畅的动态效果&#xff0c;不方便。 想要带有动态效果的 Shader 在 Scene 面板持续更新动画&#xff0c;只需要打开一个开关就能让 Scene 持续刷新动画了。 感谢大家的观看&#xff0c;您的点赞和关…

使用Golang构建高性能网络爬虫

目录 一、Golang的特点 二、构建网络爬虫的步骤 三、关键技术和注意事项 使用协程进行并发处理 使用通道进行协程间的通信 合理控制并发数和处理速度 遵守网站使用协议和法律法规 防止被网站封禁或限制访问 优化网页解析和数据处理 异常处理和错误处理 日志记录和监控…

shell编程系列(7)-使用wc进行文本统计

文章目录 前言wc命令的使用wc命令的参数说明&#xff1a;统计字数统计行数打印文本行号 结语 前言 统计功能也是我们在shell编程中经常碰到的一个需求&#xff0c;wc命令可以适用于任何需要统计的数据&#xff0c;不只是统计文本&#xff0c;配合ls命令我们可以统计文件的个数…

英国人工智能初创公司Stability AI面临卖身压力;深度学习中的检索增强生成简介

&#x1f989; AI新闻 &#x1f680; 英国人工智能初创公司Stability AI面临卖身压力 摘要&#xff1a;多位知情人士透露&#xff0c;英国人工智能初创公司Stability AI正寻求出售公司&#xff0c;因为投资者对其财务状况的压力越来越大。管理层最近几周一直将自己标榜为收购…

ArkTS-日期滑动选择器弹窗

日期滑动选择器弹窗 根据指定的日期范围创建日期滑动选择器&#xff0c;展示在弹窗上。 示例 lunar&#xff1a; 接受一个boolean值&#xff0c;日期是否显示为农历。 Entry Component struct DatePickerDialogExample {selectedDate: Date new Date("2010-1-1")Sta…

2023年亚太杯数学建模A题——深度学习苹果图像识别(

Image Recognition for Fruit-Picking Robots 水果采摘机器人的图像识别功能 问题 1&#xff1a;计数苹果 根据附件 1 中提供的可收获苹果的图像数据集&#xff0c;提取图像特征&#xff0c;建立数学模型&#xff0c;计算每幅图像中的苹果数量&#xff0c;并绘制附件 1 中所有…

(四)基于高尔夫优化算法GOA求解无人机三维路径规划研究(MATLAB代码)

一、无人机模型简介&#xff1a; 单个无人机三维路径规划问题及其建模_IT猿手的博客-CSDN博客 参考文献&#xff1a; [1]胡观凯,钟建华,李永正,黎万洪.基于IPSO-GA算法的无人机三维路径规划[J].现代电子技术,2023,46(07):115-120 二、高尔夫优化算法GOA简介 高尔夫优化算法…

和鲸科技与国科环宇建立战略合作伙伴关系,以软硬件一体化解决方案促进科技创新

近日&#xff0c;在国科环宇土星云算力服务器产品发布会暨合作伙伴年度会上&#xff0c;和鲸科技与国科环宇正式完成战略伙伴签约仪式&#xff0c;宣布达成战略合作伙伴关系。未来&#xff0c;双方将深化合作&#xff0c;充分发挥在产品和市场方面的互补优势&#xff0c;为企事…

【广州华锐互动】节约用水VR互动教育:身临其境体验水资源的珍贵!

随着技术的不断发展&#xff0c;虚拟现实&#xff08;VR&#xff09;技术在许多领域得到了广泛应用。在节水宣传教育方面&#xff0c;VR技术也展现出了其独特的优势。与传统宣传教育方式相比&#xff0c;节约用水VR互动教育具有更加沉浸式、互动性和实践性的特点&#xff0c;能…

UWB高精度定位系统源码,支持零维、一维、二维等多种定位方式

智慧工厂人员定位系统源码&#xff0c;UWB高精度定位系统源码 技术架构&#xff1a;java spring boot vue mysql单体服务 硬件&#xff08;UWB定位基站、卡牌&#xff09; 定位能力&#xff1a;支持零维、一维、二维等多种定位方式&#xff0c;满足各种不同的定位需求&#xf…

指数退避和抖动

目录 引入 OCC 添加退避机制 添加抖动机制 小结 引入 OCC 乐观并发控制&#xff08;Optimistic Concurrency Control&#xff0c;OCC&#xff09;是一种既能保证多个写入者安全地修改单个对象又能避免丢失写入的古老方法OCC具有三个优点&#xff1a;只要底层存储可用&#…

Linux 常用命令集

1、根据端口查询进程号&#xff1a; netstat -nlp | grep 10050 或者使用 lsof -i:10050 2、查询所有服务进程号&#xff1a;top 3、根据进程号查询服务路径 ll /proc/28145/cwd 4、同步网络时间 yum install -y ntpdate ntpdate ntp.aliyun.com 设置定时任务 更新时间 * * * *…

Day46力扣打卡

最近一直在做以前的题&#xff0c;刷题量都没有怎么增长&#xff0c;感觉自己算法一直不太行&#xff0c;但也只能菜就多练了。 打卡记录 由子序列构造的最长回文串的长度&#xff08;区间DP&#xff09; 链接 第二次刷这道题&#xff0c;相比上回思路来的很快&#xff0c;但…

VS Code C++可视化调试配置Natvis,查看Qt、STL变量内容

VS Code C可视化调试配置Natvis 使用GlobalVisualizersDirectory Windows下 C:\Users\YourName\.vscode\extensions\ms-vscode.cpptools-1.18.5-win32-x64\debugAdapters\vsdbg\bin\Visualizers\Linux下 ~\.vscode\extensions\ms-vscode.cpptools-1.18.5-win32-x64\debugAd…

PCB布线为什么不能走直角或锐角-笔记

PCB布线为什么不能走直角或锐角-笔记 摘要一.PCB走线在直角转弯的地方&#xff0c;信号前后部分相互影响这几个理由我们来一一分析一下传输线的直角带来的寄生电容从阻抗的角度来看直角的尖角产生放电或者电磁辐射走线直角的工艺问题 摘要 有一定熟悉画过PCB板的人或者PCB教学…

Spring三级缓存处理循环依赖的过程

Spring三级缓存 Spring三级缓存是什么&#xff1f; 一级缓存&#xff1a;单例池。存放的是完整的Bean对象。经过完整的生命周期。二级缓存&#xff1a;存放需要提前暴露的Bean对象。也就不完整的Bean对象。需要提前暴露就是指&#xff0c;可能会被循环依赖。(这里可能需要用代…

中国毫米波雷达产业分析4——毫米波雷达企业介绍

一、矽典微 &#xff08;一&#xff09;公司简介 矽典微致力于实现射频技术的智能化&#xff0c;专注于研发高性能无线技术相关芯片&#xff0c;产品广泛适用于毫米波传感器、下一代移动通信、卫星通信等无线领域。 整合自身在芯片、系统、软件、算法等领域的专业能力&#xf…

c++面试题

1.static的使用 1&#xff09;修饰局部变量&#xff1a;在函数内部使用static修饰局部变量&#xff0c;会使它成为静态局部变量。静态局部变量只会被初始化一次&#xff0c;且只有在第一次调用该函数时才会被初始化&#xff0c;之后每次调用该函数时都会保留上一次的值.从原来…

java-Swing界面简析

一、简析&#xff1a; 调用java提供的 java.swing包下的各种类可以实现界面中的各种组件(比如输入框、密码框按钮、单选框、复选框等) 二、java.swing包的关键类&#xff1a; 顶层容器&#xff1a;Jframe(窗口) 中间容器&#xff1a;Jpanel(面板) 基本控件&#xff1a; I…