QtBase  v6.3.1
src_gui_dialogs_qmessagebox.cpp
Go to the documentation of this file.
1 /****************************************************************************
2 **
3 ** Copyright (C) 2016 The Qt Company Ltd.
4 ** Contact: https://www.qt.io/licensing/
5 **
6 ** This file is part of the documentation of the Qt Toolkit.
7 **
8 ** $QT_BEGIN_LICENSE:BSD$
9 ** Commercial License Usage
10 ** Licensees holding valid commercial Qt licenses may use this file in
11 ** accordance with the commercial license agreement provided with the
12 ** Software or, alternatively, in accordance with the terms contained in
13 ** a written agreement between you and The Qt Company. For licensing terms
14 ** and conditions see https://www.qt.io/terms-conditions. For further
15 ** information use the contact form at https://www.qt.io/contact-us.
16 **
17 ** BSD License Usage
18 ** Alternatively, you may use this file under the terms of the BSD license
19 ** as follows:
20 **
21 ** "Redistribution and use in source and binary forms, with or without
22 ** modification, are permitted provided that the following conditions are
23 ** met:
24 ** * Redistributions of source code must retain the above copyright
25 ** notice, this list of conditions and the following disclaimer.
26 ** * Redistributions in binary form must reproduce the above copyright
27 ** notice, this list of conditions and the following disclaimer in
28 ** the documentation and/or other materials provided with the
29 ** distribution.
30 ** * Neither the name of The Qt Company Ltd nor the names of its
31 ** contributors may be used to endorse or promote products derived
32 ** from this software without specific prior written permission.
33 **
34 **
35 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
36 ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
37 ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
38 ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
39 ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40 ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
41 ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
42 ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
43 ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
44 ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
45 ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
46 **
47 ** $QT_END_LICENSE$
48 **
49 ****************************************************************************/
50 
52 int ret = QMessageBox::warning(this, tr("My Application"),
53  tr("The document has been modified.\n"
54  "Do you want to save your changes?"),
59 
60 
64 switch (msgBox.exec()) {
65 case QMessageBox::Yes:
66  // yes was clicked
67  break;
68 case QMessageBox::No:
69  // no was clicked
70  break;
71 default:
72  // should never be reached
73  break;
74 }
76 
77 
82 
84 
86  // connect
87 } else if (msgBox.clickedButton() == abortButton) {
88  // abort
89 }
91 
92 
97 ...
98 messageBox.exec();
100  ...
101 }
103 
104 
106 #include <QApplication>
107 #include <QMessageBox>
108 
109 int main(int argc, char *argv[])
110 {
111  QT_REQUIRE_VERSION(argc, argv, "4.0.2")
112 
113  QApplication app(argc, argv);
114  ...
115  return app.exec();
116 }
118 
121 msgBox.setText("The document has been modified.");
122 msgBox.exec();
124 
127 msgBox.setText("The document has been modified.");
128 msgBox.setInformativeText("Do you want to save your changes?");
131 int ret = msgBox.exec();
133 
135 switch (ret) {
136  case QMessageBox::Save:
137  // Save was clicked
138  break;
140  // Don't Save was clicked
141  break;
142  case QMessageBox::Cancel:
143  // Cancel was clicked
144  break;
145  default:
146  // should never be reached
147  break;
148 }
150 
153 msgBox.setText(tr("The document has been modified.\n"
154  "Do you want to save your changes?"));
The QAbstractButton class is the abstract base class of button widgets, providing functionality commo...
The QApplication class manages the GUI application's control flow and main settings.
Definition: qapplication.h:68
static int exec()
virtual int exec()
Definition: qdialog.cpp:595
The QMessageBox class provides a modal dialog for informing the user or for asking the user a questio...
Definition: qmessagebox.h:57
void setStandardButtons(StandardButtons buttons)
static StandardButton warning(QWidget *parent, const QString &title, const QString &text, StandardButtons buttons=Ok, StandardButton defaultButton=NoButton)
void addButton(QAbstractButton *button, ButtonRole role)
void setInformativeText(const QString &text)
QAbstractButton * clickedButton() const
void setText(const QString &text)
void setDefaultButton(QPushButton *button)
The QPushButton widget provides a command button.
Definition: qpushbutton.h:56
QMessageBox msgBox
[0]
int main(int argc, char *argv[])
[3]
QMessageBox messageBox(this)
[2]
QAbstractButton * disconnectButton
QPushButton * connectButton
QPushButton * abortButton
#define QT_REQUIRE_VERSION(argc, argv, str)
Definition: qmessagebox.h:339
#define tr(X)
QApplication app(argc, argv)
[0]