自学QT之标准文件对话框

来源:互联网 发布:visio数据库模型图 编辑:程序博客网 时间:2024/06/15 10:48

新建一个基于对话框的工程,取消界面选项。

dialog.cpp的文件如下:

#include "dialog.h"#include <QFileDialog>Dialog::Dialog(QWidget *parent)    : QDialog(parent){    filebtn =new QPushButton("标准文件打开对话框");    fileLineEdit =new QLineEdit();    mainLayout=new QGridLayout(this);    mainLayout->addWidget(filebtn,0,0);    mainLayout->addWidget(fileLineEdit,0,1);    connect(filebtn,SIGNAL(clicked()),this,SLOT(showFiles()));}void Dialog::showFiles(){    QString s=QFileDialog::getOpenFileName(this,"选择文件","/","JPEG Files(*.jpg)");    fileLineEdit->setText(s);}Dialog::~Dialog(){}

这里的showFiles槽函数,是自己定义的,并且在头文件中已经声明,头文件如下:

#ifndef DIALOG_H#define DIALOG_H#include <QDialog>#include <QPushButton>#include <QLineEdit>#include <QGridLayout>class Dialog : public QDialog{    Q_OBJECTpublic:    Dialog(QWidget *parent = 0);    ~Dialog();private:    QPushButton *filebtn;    QLineEdit *fileLineEdit;    QGridLayout *mainLayout;public slots:    void showFiles();};#endif // DIALOG_H

这个程序实现了将文件名再edit中输出:

下面说一下getopenfilename的各个参数:

函数原型:

QString QFileDialog::getOpenFileName (

          QWidget * parent = 0,
          const QString & caption = QString(),
          const QString & dir = QString(),
          const QString & filter = QString(),
          QString * selectedFilter = 0,
          Options options = 0 )
第一个参数parent,用于指定父组件;
第二个参数caption,是对话框的标题;
第三个参数dir,是对话框显示时默认打开的目录,"." 代表程序运行目录,"/" 代表当前盘符的根目录(Windows,Linux下/就是根目录了),也可以是平台相关的,比如"C:\\"等;例如我想打开程序运行目录下的Data文件夹作为默认打开路径,这里应该写成"./Data/",若想有一个默认选中的文件,则在目录后添加文件名即可:"./Data/teaser.graph"
第四个参数filter,是对话框的后缀名过滤器,比如我们使用"Image Files(*.jpg *.png)"就让它只能显示后缀名是jpg或者png的文件。如果需要使用多个过滤器,使用";;"分割,比如"JPEG Files(*.jpg);;PNG Files(*.png)";
第五个参数selectedFilter,是默认选择的过滤器;
第六个参数options,是对话框的一些参数设定,比如只显示文件夹等等,它的取值是enum QFileDialog::Option,每个选项可以使用 | 运算组合起来。
如果要选择多个文件的话,你需要将getOpenFileName改成getOpenFileNames。


0 0
原创粉丝点击