//头文件
#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
#include <QPushButton>
#include <QLineEdit>
#include <QFrame>
class Dialog : public QDialog
{
Q_OBJECT
public:
Dialog(QWidget *parent = 0);
~Dialog();
public slots:
void openFileDlg();
void openColorDlg();
void openFontDlg();
void openInputDlg();
void openMessageDlg();
private:
QPushButton *fileBtn;
QPushButton *colorBtn;
QPushButton *fontBtn;
QPushButton *inputBtn;
QPushButton *customBtn;
QLineEdit *showPath;
QFrame *colorFrame;
QLineEdit *showFont;
QPushButton *messageBtn;
QLineEdit *showCustom;
};
#endif // DIALOG_H
//源文件
#include "dialog.h"
#include <QGridLayout>
#include <QFileDialog>
#include <QColorDialog>
#include <QInputDialog>
#include <QFontDialog>
#include <QMessageBox>
Dialog::Dialog(QWidget *parent)
: QDialog(parent)
{
fileBtn = new QPushButton("文件标准对话框实例");
connect(fileBtn,SIGNAL(clicked(bool)),this,SLOT(openFileDlg()));
showPath = new QLineEdit;
colorBtn = new QPushButton("颜色标准对话框实例");
connect(colorBtn,SIGNAL(clicked(bool)),this,SLOT(openColorDlg()));
colorFrame = new QFrame;
colorFrame->setPalette(Qt::white);
colorFrame->setAutoFillBackground(true);
fontBtn = new QPushButton("字体标准对话框实例");
connect(fontBtn,SIGNAL(clicked(bool)),this,SLOT(openFontDlg()));
showFont = new QLineEdit;
inputBtn = new QPushButton("标准输入对话框");
connect(inputBtn,SIGNAL(clicked(bool)),this,SLOT(openInputDlg()));
messageBtn = new QPushButton("标准消息对话框");
connect(messageBtn,SIGNAL(clicked(bool)),this,SLOT(openMessageDlg()));
customBtn = new QPushButton("用户自定义消息对话框实例");
showCustom = new QLineEdit;
QGridLayout *grid = new QGridLayout(this);
grid->addWidget(fileBtn,0,0);
grid->addWidget(showPath,0,1);
grid->addWidget(colorBtn,1,0);
grid->addWidget(colorFrame,1,1);
grid->addWidget(fontBtn,2,0);
grid->addWidget(showFont,2,1);
grid->addWidget(inputBtn,3,0);
grid->addWidget(messageBtn,3,1);
grid->addWidget(customBtn,4,0);
grid->addWidget(showCustom,4,1);
}
Dialog::~Dialog()
{
}
//打开文件对话框
void Dialog::openFileDlg()
{
QString str = QFileDialog::getOpenFileName(this,tr("打开文件"),"E:/","TXT File(*.txt);; All File(*.*)");
showPath->setText(str);
}
//打开颜色对话框
void Dialog::openColorDlg()
{
QColor color = QColorDialog::getColor(Qt::white,this,"colorDialog");
colorFrame->setPalette(color);
}
//打开字体对话框
void Dialog::openFontDlg()
{
bool ok;
ok = true;
QFont font = QFontDialog::getFont(&ok,this);
showFont->setText(font.toString());
}
//打开输入对话框
void Dialog::openInputDlg()
{
QInputDialog::getText(this,"InputDialog","label");
}
//消息对话框
void Dialog::openMessageDlg()
{
QMessageBox::information(this,"MessageDlg","欢迎光临",QMessageBox::Ok,QMessageBox::Cancel);
}