1.消息对话框QMessageBox 类提供一个模态的对话框来通知一些信息,或者向用户提出一个问题并且获取答案等。
在Qt5中的帮助文档如下图。
以下是这些枚举描述标准按钮的标志。 每个按钮都有一个定义的按钮角色。
2.基本消息对话框
//问题对话框
QMessageBox::question(this,tr("问题对话框"),
tr("你有问题吗??"),QMessageBox::Yes,QMessageBox::No);
//提示对话框
QMessageBox::information(this,tr("提示对话框"),
tr("提示你记得戴口罩"),QMessageBox::Ok);
//警告对话框
QMessageBox::warning(this,tr("警告对话框"),
tr("出门必须戴口罩,警告一遍"),QMessageBox::Abort);
//错误对话框
QMessageBox age;
age.setIcon(QMessageBox::Critical);
QMessageBox::critical(this,tr("错误对话框"),
tr("你现在没有戴口罩!!!"),QMessageBox::YesToAll);
//关于对话框
QMessageBox::about(this,tr("关于对话框"),
tr("关于戴口罩通知你"));
运行后的截图
3.自定义消息盒子
当以上的消息盒子不满足你,还可以自定义对话框。
{
//自定义消息对话框
/**
核心:
1.标题 setWindowTitle()
2.内容 setText () 、setInformativeText()
3.按键:setStandardButtons()
扩展:(其他已有的消息盒子,都要自己的,好像自定义的才可以)
4.图标
5.给按键取别名
6.设置默认按键
7.根据选择的按键做出dui对应的反应
*/
QMessageBox msgBox;
//1.标题
msgBox.setWindowTitle("自定义标准对话框");
// 2.内容
msgBox.setText("The document has been modified.");
msgBox.setInformativeText("Do you want to save your changes?");
// 3.按键
msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);
//4.图标
QPixmap pixmap("G:/QTmake/0630/xxhz/813.jpg");
msgBox.setIconPixmap(pixmap);
//5.给按键取别名
msgBox.setButtonText(QMessageBox::Discard,"Don`t Save");
//6.设置默认按键
msgBox.setDefaultButton(QMessageBox::Save);
int ret = msgBox.exec();
//7.根据选择的按键做出反应
switch (ret) {
case QMessageBox::Save:
{
qDebug()<<"保存";
}
break;
case QMessageBox::Discard:
qDebug()<<"不确定保存";
break;
case QMessageBox::Cancel:
qDebug()<<"放弃";
break;
default:
// should never be reached
break;
}
}
基本上消息对话框的功能都是这些了,可以去找帮助文档,去实现更多样化的功能。
————————————————————————————————————————
原文链接:https://www.ngui.cc/51cto/show-4007.html