QMessageBox 使用方法

#include "dialog.h"
#include "ui_dialog.h"
#include<QMessageBox>
#include<QTextStream>
QTextStream out(stdout);

Dialog::Dialog(QWidget *parent) :
    QDialog(parent),
    ui(new Ui::Dialog)
{
    ui->setupUi(this);
}

Dialog::~Dialog()
{
    delete ui;
}

void Dialog::on_pushButton_clicked()
{
    QMessageBox::StandardButton r = QMessageBox::question(this, "Title", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::No);
    if (r == QMessageBox::Yes) {
        // Do something here
        out<<"Yes"<<endl;
    }else{
        out<<"No"<<endl;
    }
}

QMessageBox 使用方法

 

 

在Qt中经常需要弹出窗口,QMessageBox可以实现此功能,一共有三种窗口,information, question, 和 warning,critical, about分别对应感叹号,问号和叉号等等,使用方法很简单,一共有三个参数,第一个是父窗口句柄,剩下两个分别为窗口名称和显示内容,显示内容为QString类型。如下所示:

 

复制代码
QMessageBox::information(this, tr("Title"), tr("Content"));

QMessageBox::question(this, tr("Title"), tr("Content"));

QMessageBox::warning(this, tr("Title"), tr("Content"));

QMessageBox::critical(this, tr("Title"), tr("Content"));

QMessageBox::about(this, tr("Title"), tr("Content"));
复制代码

 

如果需要对话框下面有Ok, Yes, No 等按钮,需要添加后面两个参数,一个是出现哪两个按钮,一个是设置缺省按钮:

 

QMessageBox::StandardButton r = QMessageBox::question(this, "Title", "Content", QMessageBox::Yes | QMessageBox::No, QMessageBox::No);
if (r == QMessageBox::Yes) {
    // Do something here
}

 

 
分类: Qt
 
posted @ 2018-04-12 17:02  sky20080101  阅读(126)  评论(0)    收藏  举报