QT里面实现文件对话框选择的几种方式

QT里面写对话选择框的方式有以下几种:

第一种:可以选择多个文件的方式

cpp 复制代码
// 设置文件选择对话框的接受模式为多选模式
    QFileDialog dialog;
    dialog.setFileMode(QFileDialog::ExistingFiles);

    // 设置初始目录
    dialog.setDirectory("/home");

    // 设置文件过滤器
//    dialog.setFilter();

    // 显示文件选择对话框
    if (dialog.exec()) {
        // 如果用户点击了"打开"按钮,则获取选择的文件
        QStringList selectedFiles = dialog.selectedFiles();
       qDebug() << "Selected Files:" << selectedFiles;
       }

第二种方式:只能选择一个文件

cpp 复制代码
QString fileName = QFileDialog::getOpenFileName(this,QStringLiteral("文件对话框!"),"F:",QStringLiteral("(*WRK);"));
    if (!fileName.isEmpty())
    {
        // 用户选择了一个文件夹,可以在这里进行相应的操作
        qDebug() << "Selected file: " << directory;
        ui->lineEdit_5->setText(fileName);
    }
    else{
        QMessageBox::warning(this,u8"文件夹路径有误",u8"请确认路径");
    }

细说一哈QFileDialog这个函数的使用:

下面这些枚举是用于指示用户可以在文件对话框中选择的内容;即如果用户单击"确定",对话框将返回的内容。

|------------------------------|-----|----------------------------------------------------|
| QFileDialog::AnyFile | 0 | 文件的名称,无论它是否存在。 |
| QFileDialog::ExistingFile | 1 | 单个现有文件的名称。 |
| QFileDialog::Directory | 2 | 目录的名称。同时显示文件和目录。但是,本机 Windows 文件对话框不支持在目录选择器中显示文件。 |
| QFileDialog::ExistingFiles | 3 | 零个或多个现有文件的名称。 |

选项类型是 QFlags<Option> 的类型定义

|--------------------------------------------|--------------|---------------------------------------------------------------------------------------------------|
| QFileDialog::ReadOnly | 0x00000020 | 指示模型是只读的。 |
| QFileDialog::HideNameFilterDetails | 0x00000040 | 指示文件名筛选器详细信息是否隐藏。 |
| QFileDialog::DontUseSheet | 0x00000008 | 在以前版本的Qt中,如果静态函数被赋予父级,则静态函数将默认创建一个工作表。这在Qt 4.5中不再受支持,并且不执行任何操作,静态函数将始终是应用程序模式对话框。如果要使用工作表,请改用 ()。 |
| QFileDialog::DontUseCustomDirectoryIcons | 0x00000080 | 始终使用默认目录图标。某些平台允许用户设置不同的图标。自定义图标查找会对网络或可移动驱动器产生很大的性能影响。设置此选项将在图标提供程序中启用该选项。此枚举值是在 Qt 5.2 中添加的。 |

此属性保存对话框的文件模式

文件模式定义用户应在对话框中选择的项目的数量和类型。

默认情况下,此属性设置为 。

此函数将为 和 s 设置标签。可以在调用 setFileMode() 后设置自定义文本。

访问功能:

|-----------------------|------------------------------------------------|
| QFileDialog::FileMode | fileMode() const |
| void | setFileMode (QFileDialog::FileMode mode) |

相关推荐
kruptos3 小时前
分布式系统怎么“选主“?Raft 共识一次讲清
开发语言·分布式·php·共识算法
吴声子夜歌3 小时前
ApacheCommons——commons-cli(命令行参数解析)
java·开发语言·apache
benchmark_cc4 小时前
REST API 和 Python SDK 应该怎么选?量化交易数据接口选型实战
开发语言·python·数据分析·pandas·量化交易·股票数据·quantdash
王的宝库4 小时前
Go 项目结构:从单文件到标准工程布局
开发语言·后端·golang
Tairitsu_H4 小时前
[C++] 深入理解红黑树:封装set与map
开发语言·c++·set·map·红黑树·模拟实现
泡海椒5 小时前
JQuick-Curl 性能分析:并发场景下的性能表现与调优,第三方接口调用不只要快写也要稳跑
java·开发语言·okhttp
小智老师PMP5 小时前
2026深度解析|PMP第八版与NPDP核心侧重点本质区别(管理类证书怎么选)
开发语言·分布式·算法·职场和发展·产品经理
_林枭_5 小时前
ZW3D二次开发_原生表单_如何设置表单左上角图标
qt·zw3d
江畔柳前堤6 小时前
前台·中台·后台:2026年AI原生时代的架构全景图
开发语言·人工智能·算法·机器学习·架构·scala·ai-native
Figo_Cheung6 小时前
Figo基于RNC理论的宇宙演化第七纪元猜想
开发语言·php