利用Qt对话框选择文件打开、保存路径

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liubing8609/article/details/87898903

利用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的第四部分中,利用“;;”是为了提供多种文件格式。如果去掉“;;”,保存的文件格式是头一个文件格式。

猜你喜欢

转载自blog.csdn.net/liubing8609/article/details/87898903
今日推荐