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

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

code review!

文章目录

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

1.运行

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

2.main.cpp

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

代码

#include
#include
#include
#include
#include
#include
#include

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。

你可能感兴趣的:(qt-C++程序笔记,qt,c++,笔记)