一、概述
Qt提供了多种自带的标准对话框,常见的对话框包括文件对话框、颜色对话框、字体对话框、输入对话框、消息对话框。
二、文件对话框
文件对话框通过QFileDialog类实现,通过文件对话框可以打开一个文件浏览对话框,可以实现打开文件、文件目录选择、保存文件的功能。
2.1、打开一个文件
打开一个文件调用的函数原型为
QString QFileDialog::getOpenFileName(QWidget *parent = Q_NULLPTR,
const QString &caption = QString(), //对话框标题
const QString &dir = QString(), //初始目录
const QString &filter = QString(), //文件过滤器
QString *selectedFilter = Q_NULLPTR,
Options options = Options());
该函数使用是主要使用前4个参数,示例程序代码如下:
QString fileName;
QString dlgTitle = "打开一个文件";
QString filter = "文本文件(*.txt);;图片(*.jpg);;所有文件(*.*)";
fileName = QFileDialog::getOpenFileName(this, dlgTitle, "", filter);
程序运行之后将会弹出如下图所示的对话框,选择完一个文件之后,文件名以及其路径将会返回至QString变量fileName。对话框仅用于获取所选文件的路径及名称,具体对文件的读操作则需要通过QFile等函数完成。
对话框标题以及文件过滤器所在的位置已在图中标出。
2.2、打开多个文件
可以在弹出的对话框中选择多个文件,其函数原型为:
QStringList QFileDialog::getOpenFileNames(QWidget *parent = Q_NULLPTR,
const QString &caption = QString(), //对话框标题
const QString &dir = QString(), //初始目录
const QString &filter = QString(), //文件过滤器
QString *selectedFilter = Q_NULLPTR,
Options options = Options())
示例程序代码如下:
QStringList fileNames;
QString dlgTitle = "打开多个文件";
QString filter = "文本文件(*.txt);;图片(*.jpg);;所有文件(*.*)";
fileNames = QFileDialog::getOpenFileNames(this, dlgTitle, "", filter);
程序运行之后弹出的对话框与打开文件时相似,当选择完多个文件之后,各个文件的文件名以及其路径将会返回至QStringList变量fileNames中。
2.3、保存文件对话框
通过此对话框可以为文件选择保存的路径及文件名,其函数原型为:
QString QFileDialog::getSaveFileName(QWidget *parent = Q_NULLPTR,
const QString &caption = QString(),
const QString &dir = QString(),
const QString <