利用Qt对话框选择文件打开、保存路径
利用Qt对话框选择文件打开路径
在利用Qt开发软件时,有时需要由客户来选择保存文件的路径,以增加灵活性。下面以保存一副图像为例,介绍如何利用Qt对话框选择文件保存路径。
利用的类是QFileDialog,成员函数是getOpenFileNames,定义如下:
QStringList QFileDialog::getOpenFileNames ( QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), const QString & filter = QString(), QString * selectedFilter = 0, Options options = 0 ) [static]
现在要打开并显示一幅图像时,代码如下:
QString filename;
filename = QFileDialog::getOpenFileName(this,
tr(“选择图像“),
“”,
tr(“Images (*.png *.bmp *.jpg *.tif *.GIF)”)); //选择路径
if(filename.isEmpty())
{
return;
}
else
{
if(! ( img2->load(filename) ) ) //加载图像
{
QMessageBox::information(this,
tr(“打开图像失败“),
tr(“打开图像失败!”));
return;
}
ui.imgLabl2->setPixmap(QPixmap::fromImage(*img2)); //显示图像
}
【注意】在getOpenFileName的第四部分为可以打开的多种图像格式。
利用Qt对话框选择文件保存路径
在利用Qt开发软件时,有时需要由客户来选择保存文件的路径,以增加灵活性。下面以保存一副图像为例,介绍如何利用Qt对话框选择文件保存路径。
利用的类是QFileDialog,成员函数是getSaveFileName,定义如下:
QString QFileDialog::getSaveFileName ( QWidget * parent = 0, const QString & caption = QString(), const QString & dir = QString(), const QString & filter = QString(), QString * selectedFilter = 0, Options options = 0 ) [static]
现在要保存一幅图像时,代码如下:
QString filename = QFileDialog::getSaveFileName(this,
tr(“Save Image”),
“”,
tr(“*.bmp;; *.png;; *.jpg;; *.tif;; *.GIF”)); //选择路径
if(filename.isEmpty())
{
return;
}
else
{
if(! ( img2->save(filename) ) ) //保存图像
{
QMessageBox::information(this,
tr(“Failed to save the image”),
tr(“Failed to save the image!”));
return;
}
}
【注意】在getSaveFileName的第四部分中,利用“;;”是为了提供多种文件格式。如果去掉“;;”,保存的文件格式是头一个文件格式。