QMessageBox msgBox;
msgBox.setText(tr("The document has been modified."));
msgBox.setInformativeText(tr("Do you want to save your changes?"));
msgBox.setDetailedText(tr("Differences here..."));
msgBox.setStandardButtons(QMessageBox::Save
| QMessageBox::Discard
| QMessageBox::Cancel);
msgBox.setDefaultButton(QMessageBox::Save);
int ret = msgBox.exec();
switch (ret) {
case QMessageBox::Save:
qDebug() << "Save document!";
break;
case QMessageBox::Discard:
qDebug() << "Discard changes!";
break;
case QMessageBox::Cancel:
qDebug() << "Close document!";
break;
}
msgBox 是一個建立在棧上的QMessageBox實例。我們設置其主要文本信息爲“The document has been modified.”,informativeText 則是會在對話框中顯示的簡單說明文字。下面我們使用了一個detailedText,也就是詳細信息,當我們點擊了詳細信息按鈕時,對話框可以自動顯示更多信息。我們自己定義的對話框的按鈕有三個:保存、丟棄和取消。然後我們使用了exec()是其成爲一個模態對話框,根據其返回值進行相應的操作。
引用地址:http://www.devbean.net/2012/09/qt-study-road-2-standard-dialogs-qmessagebox/