QT——建立標準檔案對話方塊
阿新 • • 發佈:2018-11-07
標頭檔案:
#ifndef DIALOG_H #define DIALOG_H #include <QDialog> class QPushButton; class QLineEdit; class QGridLayout; class Dialog : public QDialog { Q_OBJECT public: Dialog(QWidget *parent = 0); ~Dialog(); private: void createFileDialog(); void addGridLayout(); void registerConnect(); private slots: void showFile(); private: QPushButton *fileBtn; QLineEdit *fileLineEdit; QGridLayout *mainLayout; }; #endif
原始檔:
#include "dialog.h" #include <QPushButton> #include <QLineEdit> #include <QGridLayout> #include <QFileDialog> Dialog::Dialog(QWidget *parent) : QDialog(parent) { setWindowTitle(tr("各種標準對話方塊的例項")); createFileDialog(); addGridLayout(); registerConnect(); } void Dialog::createFileDialog() { fileBtn = new QPushButton; fileBtn->setText(tr("文字標準對話方塊例項")); fileLineEdit = new QLineEdit; } void Dialog::addGridLayout() { mainLayout = new QGridLayout(this); mainLayout->addWidget(fileBtn, 0, 0); mainLayout->addWidget(fileLineEdit, 0, 1); } void Dialog::showFile() { QString s = QFileDialog::getOpenFileName(this, "open file dialog", "/", "C++ files(*.cpp)::C files(*.c)::Head files(*.h)"); fileLineEdit->setText(s); } void Dialog::registerConnect() { connect(fileBtn, SIGNAL(clicked()), this, SLOT(showFile())); } Dialog::~Dialog() { if (fileBtn) delete fileBtn; if (fileLineEdit) delete fileLineEdit; if (mainLayout) delete mainLayout; }
顯示結果:
按下Button,顯示結果: