Окно предупреждающего сообщения
Оглавление
Для отображения окна предупреждающего сообщения вызывается статический метод warning() класса QMessageBox.
Вывод окна предупреждающего сообщения может выглядеть так:
int n = QMessageBox::warning(0,
"Warning",
"The text in the file has changed,"
"\n Do you want to save the changes?",
"Yes",
"No",
QString(),
0,
1
);
if(!n) {
// Saving the changes!
}
Здесь, в метод warning() первым параметром передается нулевой указатель, второй параметр — это строка, задающая надпись заголовка окна. Третьим параметром передается текст сообщения. Четвертый параметр задает надпись первой кнопки, пятый параметр — надпись второй кнопки, шестой — надпись третьей кнопки (в нашем примере этот параметр равен нулевой строке, так как используется конструктор по умолчанию класса QString, а это значит, что на третьей позиции кнопка показана не будет). Седьмой параметр делает кнопку, с переданным индексом, кнопкой по умолчанию (в нашем случае этот параметр равен нулю, что соответствует кнопке Yes (Да)). Восьмой параметр сопоставляет кнопку, соответствующую переданному индексу, с клавишей <Escape>. В нашем случае этот параметр равен единице и это соответствует кнопке No (Нет), то есть нажатие клавиши <Escape> будет расцениваться как нажатие на эту кнопку. Метод warning() возвращает индекс нажатой кнопки, который, в нашем случае, проверяется в условном операторе if, и равенство этой переменной нулю соответствует нажатию кнопки Yes (Да).
{рис}
Читать далее: Окно критического сообщения в Qt