zoukankan      html  css  js  c++  java
  • QT 文件对话框(QFileDialog)

    1.选择文件(上传、打开...)

    1 QString QFileDialog::getOpenFileName(
    2     QWidget *parent = 0,             //parent,用于指定父组件。注意,很多Qt组件的构造函数都会有这么一个parent参数,并提供一个默认值0;    
    3     const QString &caption = QString(),    //caption,是对话框的标题
    4     const QString &dir = QString(),      //dir,是对话框显示时默认打开的目录,"." 代表程序运行目录,"/" 代表当前盘符的根目录(Windows,Linux下/就是根目录了),也可以是平台相关的,比如"C:\"等;
    5     const QString &filter = QString(),    //filter,是对话框的后缀名过滤器,比如我们使用"Image Files(*.jpg *.png)"就让它只能显示后缀名是jpg或者png的文件。如果需要使用多个过滤器,使用";;"分割,比如"JPEG Files(*.jpg);;PNG Files(*.png)"
    6     QString *selectedFilter = 0,        //selectedFilter,是默认选择的过滤器
    7     Options options = 0);            //options,是对话框的一些参数设定,比如只显示文件夹等等,它的取值是enum QFileDialog::Option,每个选项可以使用 | 运算组合起来

    getOpenFileName()函数参数比较多,比较难记Qt提供了另外的写法:

     1  QFileDialog *fileDialog = new QFileDialog(this); 
     2         fileDialog->setWindowTitle(tr("Open Image")); 
     3         fileDialog->setDirectory("."); 
     4         fileDialog->setFilter(tr("Image Files(*.jpg *.png)")); 
     5         if(fileDialog->exec() == QDialog::Accepted) { 
     6                 QString path = fileDialog->selectedFiles()[0]; 
     7                 QMessageBox::information(NULL, tr("Path"), tr("You selected ") + path); 
     8         } else { 
     9                 QMessageBox::information(NULL, tr("Path"), tr("You didn't select any files.")); 
    10         }

    这两种写法虽然功能差别不大,但是弹出的对话框却并不一样。getOpenFileName()函数在Windows和MacOS X平台上提供的是本地的对话框,而QFileDialog提供的始终是Qt自己绘制的对话框(还记得前面说过,Qt的组件和Swing类似,也是自己绘制 的,而不都是调用系统资源API)。

    2.选择多个文件(一次选择多个上传)

    1 QStringList QFileDialog::getOpenFileNames(QWidget *parent = 0,
    2                              const QString &caption = QString(),
    3                              const QString &dir = QString(),
    4                              const QString &filter = QString(),
    5                              QString *selectedFilter = 0,
    6                              Options options = 0);

    3.选择文件(保存文件)

    QString QFileDialog::getSaveFileName(QWidget *parent = 0,
                                       const QString &caption = QString(),
                                       const QString &dir = QString(),
                                       const QString &filter = QString(),
                                       QString *selectedFilter = 0,
                                       Options options = 0);

    4.选择文件路径(选择文件的默认下载路径):

    1 QString getExistingDirectory(QWidget *parent = 0,
    2                                         const QString &caption = QString(),
    3                                         const QString &dir = QString(),
    4                                         Options options = ShowDirsOnly);

    转载:QT之文件对话框-http://www.cnblogs.com/ylan2009/archive/2012/05/06/2486606.html

  • 相关阅读:
    典型漏洞归纳之上传漏洞
    典型漏洞归纳之解析漏洞
    Python学习目录
    MySQL数据库优化的八种方式
    深度剖析Flask上下文管理机制
    算法十大排序(含动图)
    设计模式代码实例
    设计模式
    数据结构
    算法基础
  • 原文地址:https://www.cnblogs.com/yunsicai/p/4457672.html
Copyright © 2011-2022 走看看