自學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。

相關文章
相關標籤/搜索