自学QT之标准文件对话框

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

dialog.cpp的文件以下:this

#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槽函数,是本身定义的,而且在头文件中已经声明,头文件以下:code

#ifndef DIALOG_H
#define DIALOG_H

#include <QDialog>
#include <QPushButton>
#include <QLineEdit>
#include <QGridLayout>

class Dialog : public QDialog
{
    Q_OBJECT

public:
    Dialog(QWidget *parent = 0);
    ~Dialog();
private:
    QPushButton *filebtn;
    QLineEdit *fileLineEdit;
    QGridLayout *mainLayout;
public slots:
    void showFiles();

};

#endif // DIALOG_H


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

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

函数原型:it

QString QFileDialog::getOpenFileName (io

          QWidget * parent = 0,class

          const QString & caption = QString(),cli

          const QString & dir = QString(),file

          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。

相关文章
相关标签/搜索