本章通过实例介绍标准文件对话框基本使用
前言
本章先介绍一下标准文件对话框的使用。
一、标准文件对话框
标准文件对话框可以用于获取某一个路径下文件名或者路径;用于保存某一种类型的文件。
1. 一些静态方法:
//获取用户选择的文件名
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 QString getSaveFileName(
QWidget *parent = nullptr,
const QString &caption = QString(),
const QString &dir = QString(),
const QString &filter = QString(),
QString *selectedFilter = nullptr,
Options options = Options());
//获取用户选择的目录
//参数与上类似,默认返回的是一个目录路径
static QString getExistingDirectory(
QWidget *parent = nullptr,
const QString &caption = QString(),
const QString &dir = QString(),
Options options = ShowDirsOnly);
//获取用户所选的文件列表
static QStringList getOpenFileNames(
QWidget *parent = nullptr,
const QString &caption = QString(),
const QString &dir = QString(),
const QString &filter = QString(),
QString *selectedFilter = nullptr,
Options options = Options());
2. 示例代码:
写一个按钮的点击信号连接槽函数:
2.1 选择一个文件
void Dialog::slotShowFilename()
{
QString name = QFileDialog::getOpenFileName(this,"选择文件","/home","c file(*.c);;head file(*.h);;cpp file(*.cpp)");
m_lineEditFile->setText(name);
}
2.2 保存一个文件
void Dialog::slotShowFilename()
{
QString name = QFileDialog::getSaveFileName(this,"要保存的文件","F:/KuGou","file(*.*)");
QFile file(name);
if(!file.open(QIODevice::WriteOnly))
{
}
}
3. 效果图:
3.1
如图所示,右下角筛选下拉框有三个选项,分别是c文件,头文件和cpp文件,选择好类型可以选择相应类型文件。
3.2
如图所示,需要输入一个文件名用于给保存的文件命名,同时选择想要的类型。
注意:保存文件需要使用QFile打开才能成功创建。
总结
记录学习过程,大家互相学习。