1、要使用QMessageBox,首先需要添加头文件#include <QMessageBox>,在工程文件.pro 添加QT += widgets,一般桌面应用工程中工程文件中都会默认加上QT += widgets。
2、最简单的一种用法:QMessageBox msgBox; // 生成对象msgBox.setText("The document has been modified."); // 设置文本msgBox.exec(); // 执行
3、升级用法设置更多杨钭维程属性: 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(); // 执行
4、上面执行前面有 int ret 这里是我们点击哪个按钮之后的返回值。上面添加了三个按钮QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel。点击save ret 就等于QMessageBox::Save。
5、如果提示信息不够,我们还可以设置详细的提示信息,在第三步基础上添加msgBox.setDetailedText("this is detailed info"); // 设置详细的提醒信息
6、QMessageBox默认提供四种形式的弹窗分别是warning question infomation critical 。
7、这里演示一下warn坡纠课柩ing的用法,其他三个的用法和这个差不多。int ret = QMessageBox::warn足毂忍珩ing(this, tr("My Application"), tr("The document has been modified.\n" "Do you want to save your changes?"), QMessageBox::Save | QMessageBox::Discard | QMessageBox::Cancel, QMessageBox::Save);