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

时间: 2024-10-11 00:06:29

QT 文件对话框(QFileDialog)的相关文章

PyQt4文件对话框QFileDialog

文件对话框允许用户选择文件或文件夹,被选择的文件可进行读或写操作. #!/usr/bin/python # -*- coding: utf-8 -*- import sys from PyQt4 import QtGui, QtCore class OpenFile(QtGui.QMainWindow): def __init__(self, parent = None): QtGui.QWidget.__init__(self, parent) self.setGeometry(300, 30

Qt——文件对话框

教程:https://www.devbean.net/2012/09/qt-study-road-2-file-dialog/ 代码如下: //mainwindow.h #ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> class QTextEdit; class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidg

QT学习 之 对话框 (四) 字体对话框、消息对话框、文件对话框、进程对话框(超详细中文注释)

QMessageBox类: 含有Question消息框.Information消息框.Warning消息框和Critical消息框等 通常有两种方式可以来创建标准消息对话框: 一种是采用“基于属性”的API,一种是使用QMessageBox的静态方法. 后者书写容易,但缺少灵活性,针对用户给出的提示的信息不够丰富,并且不能自定义消息对话框里面的按钮提示信息.因此推荐第一种写法. [cpp] view plaincopy <span style="font-size:18px;"&

QT 打开文件对话框总结

Qstring fileName = QFileDialog::getOpenFileName(this, tr("open file"), " ",  tr("Allfile(*.*);;mp3file(*.mp3)")); 说明:这样就会产生一个对话框,和系统的资源管理器差不多的.返回的是你选择文件的 绝对路径. 参数1:父窗口 参数2:对话框的标题 参数3:默认的打开的位置,如"我的文档"等 参数4:文件的过滤器,注意文

Qt打开文件对话框

项目中需要打开文件对话框,就查了一下,不得不说Qt的帮助文档做的真好,非常详细.要实现这个功能有两种方式,使用QFileDialog的静态方法,实例化QFileDialog对象. 基本算是照抄帮助文档了.下面是自己的代码. 1 // 单击文件按钮 2 void FirstDialog::on_pushButtonFile_clicked() 3 { 4 QString strFile = QFileDialog::getOpenFileName( 5 this, 6 tr("打开文件"

QT+ 使用标准对话框+关于对话框+问题对话框+文件对话框

#include "mainwindow.h" #include <QMenuBar> #include <QMenu> #include <QAction> #include <QDialog> #include<QDebug> #include <QMessageBox> #include <QFileDialog> MainWindow::MainWindow(QWidget *parent) :

QT常用对话框的使用以及实现

考虑的QT的对话框的内容颇多,很难记,而且使用起来往往相同的操作,所以将自己敲的各个常用对话框的使用方法上传.以下包含了颜色对话框.打开单个(多个)文件对话框,字体对话框.输入对话框.提示信息对话框.进度对话框.QErrorMessage对话框,以及向导对话框. 废话少说,直接上代码: //颜色对话框 QColor color = QColorDialog::getcolor(Qt::red,this,tr("颜色对话框")); //获取选择的颜色再去设置即可 //文件对话框 QStr

Qt标准对话框

Qt中有9个标准对话框. 1.QColorDialog 颜色对话框,能够允许用户选择颜色. 2.QErrorMessage显示错误信息. 3.QFileDialog文件对话框,能够允许用户选的一个或者多个文件以及目录. 4.QFontDialog字体对话框,允许用户选择/设置字体.QInputDialog输入对话框,允许用户进行简单的输入. 5.QPageSetupDialog叶设置对话框,配置与页相关的打印机选项. 6.QProgressDialog 进度对话框 指示一个长时间操作的工作进度,

11.文件对话框

在前面的章节中,我们讨论了 Qt 标准对话框QMessageBox的使用.所谓标准对话框,其实也就是一个普通的对话框.因此,我们同样可以将QDialog所提供的其它特性应用到这种标准对话框上面.今天,我们继续讨论另外一个标准对话框:QFileDialog,也就是文件对话框.在本节中,我们将尝试编写一个简单的文本文件编辑器,我们将使用QFileDialog来打开一个文本文件,并将修改过的文件保存到硬盘.这或许是我们在本系列中所提供的第一个带有实际功能的实例. 首先,我们需要创建一个带有文本编辑功能