提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
- 前言
- 使用基于熟悉的API实现
- 使用静态函数成员实现
前言
当我们再使用QT程序时,用户希望得到一些提示,可以用QMessageBox来实现
一、使用基于属性的API
1.简单实现
//创建一个消息对话框对象
QMessageBox msgBox;
//设置消息对话框的文本
msgBox.setText(QString::fromLocal8Bit("我是消息对话框,请选择确定!"));
//以模态的方式显示消息对话框
msgBox.exec();
2.复杂实现
QMessageBox msgBox;//创建一个消息对话框对象
msgBox.setText(The document has been modified.); //设置消息对话框的显示文本
msgBox.setInformativeText(Do you want to save your changes?);//设置消息对话框的信息文本
//设置标准的按钮:保存 丢弃 取消,按钮的选择,可以是枚举类型中的任意一个
msgBox.setStandardButtons(QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel);
//默认设置消息盒子的按钮操作:保存
msgBox.setDefaultButton(QMessageBox::Save);
//消息盒子显示
int ret = msgBox.exec();
switch (ret)
{
case QMessageBox::Save:
qDebug()<<QMessageBox::Save;
break;
case QMessageBox::Discard:
qDebug()<<QMessageBox::Discard;
break;
case QMessageBox::Cancel:
qDebug()<<MessageBox::Cancel;
break;
default:
// should never be reached
break;
}
二、使用静态函数成员
1.实现方法
代码如下(示例):
//通过调用静态函数实现 对话框的调用
QString text = QString::fromLocal8Bit("这是一个消息对话框.....");
QString msg = QString::fromLocal8Bit("信息文本....");
int ret = QMessageBox::warning(this, //传递父窗口的对象指针
text,//对话框的文本 tr是国际标准
msg,//对话框的信息文本
QMessageBox::Save | QMessageBox::Discard
| QMessageBox::Cancel,
QMessageBox::Save);
switch (ret)
{
case QMessageBox::Save:
qDebug()<<Save was clicked;
break;
case QMessageBox::Discard:
qDebug()<<Don't Save was clicked;
break;
case QMessageBox::Cancel:
qDebug()<< Cancel was clicked;
break;
default:
qDebug()<<should never be reached;
break;
}