Qt 中的消息對話框
阿新 • • 發佈:2017-08-31
http left form 通過 pre def edi ott wan
1. QMessagebox 類的幾個靜態成員函數,可以直接調用創建對話框
StandardButton | critical(QWidget * parent, const QString & title, const QString & text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton) |
StandardButton | information(QWidget * parent, const QString & title, const QString & text |
StandardButton | question(QWidget * parent, const QString & title, const QString & text, StandardButtons buttons = StandardButtons( Yes | No ), StandardButton defaultButton = NoButton) |
StandardButton | warning(QWidget * parent |
2.static StandardButton QMessageBox::information ( QWidget * parent, const QString & title, const QString & text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton );
然後看它那一堆參數,第一個參數parent,說明它的父組件;第二個參數title,也就是對話框的標題;第三個參數text,是對話框顯示的內容;第四個參數buttons,聲明對話框放置的按鈕,默認是只放置一個OK按鈕,這個參數可以使用或運算,例如我們希望有一個Yes和一個No的按鈕,可以使用QMessageBox::Yes | QMessageBox::No,所有的按鈕類型可以在QMessageBox聲明的StandarButton枚舉中找到;第五個參數defaultButton就是默認選中的按鈕,默認值是NoButton,也就是哪個按鈕都不選中。
註意,static函數都是要返回一個StandardButton,我們就可以通過判斷這個返回值來對用戶的操作做出相應。
int ret = QMessageBox::warning(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); switch (ret) { case QMessageBox::Save: // Save was clicked break; case QMessageBox::Discard: // Don‘t Save was clicked break; case QMessageBox::Cancel: // Cancel was clicked break; default: // should never be reached break; }
endl;
Qt 中的消息對話框