QFileDialog

一、综述:

         操作系统一般都会提供一些列的标准对话框,如文件选择、字体选择、颜色选择等,这些标准对话框为应用层序提供了一致的观感。

Qt对这些标准对话框都定义了相关的类,

QFileDialog、QFontDialog、QColorDialog、

QInputDialog、QMessageBox、QPrintDialog、

QErrorMessage、QProgressDialog

  

二、QFileDialog:

1、getOpenFileName()是QFileDialog类的一个静态函数,返回用户选择的文件名,如果用户选择取消(Cancel),则返回一个空串。

函数形式如下:

QString QFileDialog::getOpenFileName(

QWidget * parent = 0,

const QString & caption = QString(),

const QString & dir = QString(),

const QString & filter = QString(),

QString * selectedFilter = 0,

Options options = 0 );

       调用getOpenFileName()函数将创建一个模态的文件对话框。

dir参数指定了默认的目录;

filter参数对文件系统进行过滤,只有与过滤器匹配的文件类型才显示,filter可以同时指定多种过滤方式供用户选择,多种过滤器之间用“;;”隔开,用户选择的过滤器通过参数selectedFilter返回。

代码:

//定义文件对话框类
      QFileDialog *fileDialog = new QFileDialog(this);
      //定义文件对话框标题
      fileDialog->setWindowTitle(tr("打开文件"));
      //设置默认文件路径
      fileDialog->setDirectory(".");
      //设置文件过滤器
      fileDialog->setNameFilter(tr("Images(*.png *.jpg *.jpeg *.bmp)"));
      //fileDialog->setNameFilter(tr("text(*.txt)"));
      //设置可以选择多个文件,默认为只能选择一个文件QFileDialog::ExistingFiles
      fileDialog->setFileMode(QFileDialog::ExistingFiles);
      //设置视图模式
      fileDialog->setViewMode(QFileDialog::Detail);
      //打印所有选择的文件的路径
      QStringList fileNames;
      if (fileDialog->exec())
      {
        fileNames = fileDialog->selectedFiles();
      }
      for (auto tmp : fileNames)
      {
        qDebug() << tmp << endl;
      }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值