您的位置:首页 > 编程语言 > Qt开发

Qt中常见对话框的使用/QMessageBox/QFontDialog/QFileDialog

2015-11-08 10:09 621 查看
Qt为用户提供了许多对话框的类,用来进行交互操作,如常见的关于对话框(QMessageBox),字体对话框(QFontDialog),颜色对话框(QColorDialog),文件对话框(QFileDialog)等。本文演示在Visual Stuido2010中创建创建常用对话框及相关函数的使用方法。

一.创建基于Qt Application的工程,基类选择QWidget.





二.手动完成类的设计,在dlgwidget.h中完成类的声明,在dlgwidget.cpp中完成类的定义。

#ifndef DLGWIDGET_H
#define DLGWIDGET_H

#include <QtGui/QWidget>
#include "ui_dlgwidget.h"
#include < QApplication >
#include < QPushButton >
#include < QMessageBox >
#include < QFont >
#include < QFontDialog >
#include < QColor >
#include < QColorDialog >
#include < QString >
#include < QFileDialog >
#include < QHBoxLayout >

class DlgWidget : public QWidget
{
Q_OBJECT

public:
DlgWidget(QWidget *parent = 0, Qt::WFlags flags = 0);
~DlgWidget();

private:
Ui::DlgWidgetClass ui;
QPushButton *btn_About;
QPushButton *btn_Font;
QPushButton *btn_Color;
QPushButton *btn_File;
QHBoxLayout *layout;
signals:

public slots:

//槽函数
private slots:
void my_about();
void my_font();
void my_file();
void my_color();
};

#endif // DLGWIDGET_H


#include "dlgwidget.h"
//构造函数
DlgWidget::DlgWidget(QWidget *parent, Qt::WFlags flags)
: QWidget(parent, flags)
{
ui.setupUi(this);
setWindowTitle("Test&Dialog");
btn_About = new QPushButton("&About");
btn_Font = new QPushButton("&Font");
btn_Color = new QPushButton("&Color");
btn_File = new QPushButton("&File");

connect(btn_About,SIGNAL(clicked()),this,SLOT(my_about()));  //连接信号与槽函数
connect(btn_Font,SIGNAL(clicked()),this,SLOT(my_font()));
connect(btn_Color,SIGNAL(clicked()),this,SLOT(my_color()));
connect(btn_File,SIGNAL(clicked()),this,SLOT(my_file()));

layout = new QHBoxLayout();
layout->addWidget(btn_About);
layout->addWidget(btn_Font);
layout->addWidget(btn_Color);
layout->addWidget(btn_File);
setLayout(layout);
}
//析构函数
DlgWidget::~DlgWidget()
{

}
//槽函数
void DlgWidget::my_about()
{
QMessageBox::about(this,"about","this is a about dialog\n");
}

void DlgWidget::my_font()
{
bool ifok;
QFont font = QFontDialog::getFont(&ifok,this);
}

void DlgWidget::my_color()
{
QColor color = QColorDialog::getColor(Qt::green,this);  //初始颜色为绿色
}

void DlgWidget::my_file()
{
QString fileName = QFileDialog::getOpenFileName(this,tr("file open"),"/",tr("All Files(*));;TextFiles(*.txt)"));
}


入口函数main在创建工程时由系统自己创建,可保持不变。

#include "dlgwidget.h"
#include <QtGui/QApplication>

int main(int argc, char *argv[])
{
QApplication a(argc, argv);
DlgWidget w;
w.show();
return a.exec();
}


三.编译运行



单击“About”按钮,会弹出如下对话框,



单击"Font"按钮,结果如下:



单击“Color”按钮,结果如下:



单击“File”按钮,结果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: