QT獲取文件名

//.h
#ifndef DIALOG_H
#define DIALOG_H

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

class Dialog : public QDialog
{
    Q_OBJECT

public:
    Dialog(QWidget *parent = 0);
    ~Dialog();
private:
    QPushButton *fileButton;
    QLineEdit *fileLineEdit;
    QGridLayout *mainLayout;

private slots:
    void showfile();

};

#endif // DIALOG_H

//.cpp

//.cpp
#include "dialog.h"

Dialog::Dialog(QWidget *parent)
    : QDialog(parent)
{
    fileButton = new QPushButton;
    fileButton->setText(tr("文件標準對話框"));
    fileLineEdit = new QLineEdit;

    mainLayout = new QGridLayout(this);
    mainLayout->addWidget(fileButton,0,0);
    mainLayout->addWidget(fileLineEdit,0,1);

    connect(fileButton,SIGNAL(clicked()),this,SLOT(showfile()));
}

Dialog::~Dialog()
{

}

void Dialog::showfile()
{
    /*
    QFileDialog的四個靜態函數
    getOpenFileName :獲取用戶選擇的文件名
    getSaveFileName :獲取用戶保存的文件名
    getExistingDirectory :獲取用戶選擇的已保存的目錄名
    getOpenFileNames :獲取用戶選擇的文件名列表

*/
    //添加默認路徑名
    QString s = QFileDialog::getOpenFileName(this,"open file dialog","./",
                 "C++ files(*.cpp) ;; C files(*.c);;Head files(*.h)");
    fileLineEdit->setText(s);
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章