1. 颜色对话框 QColorDialog
1.1 基本函数
QColor getColor(const QColor &initial = Qt::white, QWidget *parent = nullptr, const QString &title = QString(), QColorDialog::ColorDialogOptions options = ColorDialogOptions())
返回值:QColor,返回设置的颜色
参数1:设置初始颜色
参数2:指定父对象
参数3:设置标题
参数4:设置对话框标志
1.2 示例
QDialog
dialog.cpp
//颜色对话框
void Dialog::on_pushButton_4_clicked()
{
//设置颜色 设置结果会保存在color中
//这里我们默认颜色设置为蓝色
QColor color = QColorDialog::getColor(Qt::blue,this,"颜色设置");
}
2. 打开文件对话框 QFileDialog
2.1 基本函数
打开一个文件,不能过滤文件类型
//于对文件进行相关的操作
QString getExistingDirectory(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), QFileDialog::Options options = ShowDirsOnly)
返回值:QString,返回目录的路径
参数1:指定父对象
参数2:指定文件对话框的标题
参数3:指定目录
参数4:文件对话框的标志
可以过滤文件类型,但只能选择一个文件打开
QString getOpenFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options())
返回值:QString,将文件的路径返回出来
参数1:指定父对象
参数2:指定文件对话框的标题
参数3:指定打开文件的路径
参数4:设置文件过滤器
参数5:选择指定的文件过滤器
参数6:文件对话框的标
可以过滤文件类型,并且可以选择多个文件打开
QStringList getOpenFileNames(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options())
返回值:QStringList,将多个文件的路径返回出来
参数1:指定父对象
参数2:指定文件对话框的标题
参数3:指定打开文件的路径
参数4:设置文件过滤器
参数5:选择指定的文件过滤器
参数6:文件对话框的标
1.2 示例
QDialog
dialog.cpp
1.2.1 示例1
//打开一个文件
//使用 getExistingDirectory 打开文件 不能过滤文件类型
//file_Road最终会接收打开文件按的路径
QString file_Road = QFileDialog::getExistingDirectory(this,"打开文件对话框","D:/");
if(!file_Road.isEmpty()){//判断路径是否为空
qDebug()<<"打开路径为"<<file_Road<<endl;
}
1.2.2 示例2
//打开一个文件
//使用 getOpenFileName 打开一个文件 可以过滤文件类型
QString title="打开文件对话框";
QString dir = "D:/";
QString filter="文本文件(*.txt);;图片文件(*.jpg *.png);;word文件(*.doc *docx)";//过滤文件类型
//file_Name最终会接收打开文件按的路径
QString file_Name = QFileDialog::getOpenFileName(this,title,dir,filter);
if(!file_Name.isEmpty()){
qDebug()<<"文件路径:"<<file_Name<<endl;
}
1.2.3 示例3
//getOpenFileNames 注意带了 s 说名可以一次选择多个文件
QString title="打开文件对话框";
QString dir = "D:/";
QString filter="文本文件(*.txt);;图片文件(*.jpg *.png);;word文件(*.doc *docx)";
//file_Name最终会接收打开文件按的路径
QStringList file_Name = QFileDialog::getOpenFileNames(this,title,dir,filter);
if(!file_Name.isEmpty()){
for(int i=0;i<file_Name.size();i++){
qDebug()<<"文件路径:"<<file_Name[i]<<endl;
}
}
2. 保存文件对话框 QFileDialog
2.1 基本函数
QString getSaveFileName(QWidget *parent = nullptr, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options())
返回值:QString,文件保存成功,会将文件路径返回
参数1:指定父对象
参数2:指定文件对话框的标题
参数3:指定打开文件的路径
参数4:设置文件过滤器
参数5:选择指定的文件过滤器
参数6:文件对话框的标
其他的一些函数原型
QUrl getSaveFileUrl(QWidget *parent = nullptr, const QString &caption = QString(), const QUrl &dir = QUrl(), const QString &filter = QString(), QString *selectedFilter = nullptr, QFileDialog::Options options = Options(), const QStringList &supportedSchemes = QStringList())
void saveFileContent(const QByteArray &fileContent, const QString &fileNameHint = QString())
1.2 示例
QDialog
dialog.cpp
//保存文件对话框
void Dialog::on_pushButton_6_clicked()
{
QString title="保存文件对话框";
QString dir = "D:/";
QString filter = "文本文件(*.txt)";//设置文件过滤类型
QString file_name = QFileDialog::getSaveFileName(this,title,dir,filter);
if(!file_name.isEmpty()){
qDebug()<<"文件保存成功"<<endl;
//写文件保存操作..........
}
}
请注意这个文件是没有保存成功的,要保存文件会设计文件操作的知识