QMessageBox类提供了一个有一条简短消息、一个图标和一些按钮的对话框,可以向用户产生消息,警告,确认等对话框,只需要简单的应用就可 以产生各种的样式,他提供了以下几种模式:
QMessageBox::about,仅仅带有标题和简单文本的消息框,一般用于显示帮助提示信息.
QMessageBox::information, 具有主题和提示文本的提示消息框,可以根据情况定制按钮的个数,以及用法
QMessageBox::question,具有标题和文本信息的咨询 消息框,可以根据情况定制按钮的个数,以及用法
QMessageBox::warning,具有标题和文本信息的警告消息框,可以根据情况定制按 钮的个数,以及用法
QMessageBox::critical,具有标题和文本信息的致命错误消息框,可以定制按钮的个数,以及用法
QMessageBox::aboutQt, 显示广域Qt的消息框,包括Qt版本以及Trolltech公司的产品信息等.
代码非常的简单,另外还有一些成员函数可以来添加按钮,设置图标等 等,下面看一下QMessageBox各种样式的简单例子:
1. QMessageBox :: about ( NULL , "About Me" , My blog is www.awuit.com." ) ;
2. QMessageBox :: information ( NULL , "Are you sure?" , "Yes or No?" , QMessageBox :: Yes | QMessageBox:: No , QMessageBox :: Yes ) ;//最后一个参数是焦点默认的按钮
3. QMessageBox :: question ( NULL , "Choice?" , "Yes or No?" , QMessageBox :: Yes | QMessageBox :: No ,QMessageBox :: Yes ) ;
4. QMessageBox :: warning ( NULL , "warning" , "This action is irreversible,are you sure?" , QMessageBox ::Yes | QMessageBox :: No , QMessageBox :: Yes ) ;
5. QMessageBox :: critical ( NULL , "ERROR" , "ERROR!" , QMessageBox :: Yes | QMessageBox :: No ,QMessageBox :: Yes ) ;
6. QMessageBox :: aboutQt ( this , "About Qt" ) ;
QMessageBox l_msgBox;
l_msgBox.setWindowIcon(QIcon(t_strIconPic));
l_msgBox.setIconPixmap(t_strIconPic);
l_msgBox.setStandardButtons(QMessageBox::Yes | QMessageBox::No);
l_msgBox.setButtonText(QMessageBox::Yes, tr("确定"));
l_msgBox.setButtonText(QMessageBox::No, tr("取消"));
l_msgBox.setDefaultButton(QMessageBox::Yes);
l_msgBox.setWindowTitle(tr("温馨提示"));
l_msgBox.setText(tr("输入的号码过少,请重新输入!"));
if(l_msgBox.exec() == QMessageBox::Yes)
{
lineEdit->clear();
}
else
{
lineEdit->clear();
emit sigxxxx();
}