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 += widgetsTARGET = qt_FileDialog TEMPLATE = appSOURCES += 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。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python用YOLOv8对图片进行分类

用yolov8的模型进行分类 先上效果图 图片资源 模型下载地址 https://github.com/ultralytics/ultralytics 代码 import matplotlib.pyplot as plt from ultralytics import YOLO from PIL import Image import cv2model YOLO(../ultralytics/yolov8n.pt)# print(model…

「Verilog学习笔记」状态机-重叠序列检测

专栏前言 本专栏的内容主要是记录本人学习Verilog过程中的一些知识点&#xff0c;刷题网站用的是牛客网 读入数据移位寄存&#xff0c;寄存后的数据与序列数做对比&#xff0c;相等则flag为1&#xff0c;不等则为0 timescale 1ns/1nsmodule sequence_test2(input wire clk ,in…

【复位与释放(亚稳态)模为60的BCD码计数器_2023.11.22】

复位与释放&#xff08;异步复位&#xff0c;同步释放&#xff09; 同步复位rst、同步置数load&#xff08;置数信号只有在时钟上升沿到来时才能生效&#xff09;、同步清零clr 同步复位&#xff1a; always(posedge clk) if(!rst_n) b<1’b0; else b<a; 同步复位信号rs…

有什么值得推荐的node. js练手项目吗?

前言 可以参考一下下面的nodejs相关的项目&#xff0c;希望对你的学习有所帮助&#xff0c;废话少说&#xff0c;让我们直接进入正题 1、 NodeBB Star: 13.3k 一个基于Node.js的现代化社区论坛软件&#xff0c;具有快速、可扩展、易于使用和灵活的特点。它支持多种数据库&…

《opencv实用探索·五》opencv小白也能看懂的图像腐蚀

1、图像腐蚀原理简单理解&#xff1a; 腐蚀是形态学最基本的操作&#xff0c;都是针对白色部分&#xff08;高亮部分&#xff09;而言的。即原图像中高亮部分被蚕食&#xff0c;得到比原图更小的区域。 2、图像腐蚀的作用&#xff1a; &#xff08;1&#xff09;去掉毛刺&…

C++: string的模拟实现

C: string的模拟实现 一.前置说明1.模拟实现string容器的目的2.我们要实现的大致框架 二.默认成员函数1.构造函数2.拷贝构造函数1.传统写法2.现代写法 3.析构函数4.赋值运算符重载1.传统写法2.现代写法 三.遍历和访问1.operator[]运算符重载2.iterator迭代器 四.容量相关函数1.…

热烈欢迎省工信厅毛郑建处长莅临公司调研指导工作

2023年11月28日&#xff0c;河南省工信厅信息化和软件服务业处毛郑建处长莅临郑州埃文计算机科技有限公司&#xff08;以下简称“埃文科技”&#xff09;调研考察工作。河南省工业信息安全产业发展联盟理事长任传军陪同调研。 首先&#xff0c;埃文科技董事长王永向毛处长介绍埃…

‘tsc‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件。

最近在用nodejs typescript 某游戏服务器在做一些研究 nodejs-tcs 问题描述&#xff1a; 1.使用命令npm install -g typescript安装typescript后&#xff0c;输入 tsc命令&#xff0c;一直报错 tsc 不是内部或外部命令&#xff0c;也不是可运行的程序 或批处理文件。 2.目…

【Java Web学习笔记】0 - 技术体系的说明

B/S软件开发架构简述 B/S架构 1.B/S框架&#xff0c;意思是前端(Browser浏览器)和服务器端( Server )组成的系统的框架结构。 2. B/S架构也可理解为web架构&#xff0c;包含前端、后端、数据库三大组成部分。 3.示意图 ●前端 前端开发技术工具包括三要素: HTML、CSS和Jav…

metersphere 设置定时任务和查看报告

设置定时任务 设置时间 查看执行后的测试报告 查看报告详情

CLIPTokenizer.from_pretrained本地加载

以"openai/clip-vit-large-patch14"为例&#xff0c;原代码为&#xff1a; self.tokenizer CLIPTokenizer.from_pretrained(“openai/clip-vit-large-patch14”) self.transformer CLIPTextModel.from_pretrained(“openai/clip-vit-large-patch14”) 但我连不到外…

#zookeeper集群+kafka集群

kafka3.0之前是依赖于zookeeper的。 zookeeper是开源&#xff0c;分布式的架构。提供协调服务&#xff08;Apache项目&#xff09; 基于观察者模式涉及的分布式服务管理架构。 存储和管理数据。分布式节点上的服务接受观察者的注册。一旦分布式节点上的数据发生变化&#xf…