Аналог MessageBox в Qt

Чтобы использовать всплывающее окно QMessageBox сначала нужно подключить заголовочный файл кодом:

#include<QMessageBox>

Вариант 1. Дальше уже использовать класс QMessageBox для вывода окна кодом:

QMessageBox msgBox;
msgBox.setText("Hello Here");
msgBox.exec();

Вариант 2. Есть, также встроенные типы сообщений, которые можно вывести классом QMessageBox, которые вызываются посредством вызова статических функций данного класса, это:

QMessageBox::warning(0,"Warning", "Warning message text");
QMessageBox::information(0, "Information", "Information message text");
QMessageBox::critical(0, "Critical", "Critical message text");

Вариант 3. Есть, также возможность обработать , нажатые ответы на окне QMessageBox, как в этом примере:

QMessageBox msgBox;
// Заголовок сообщения
msgBox.setText("Testing.."); 
// Тип иконки сообщения
msgBox.setIcon(QMessageBox::Information); 
// Основное сообщение Message Box
msgBox.setInformativeText("Just show infornation."); 
// Добавление реагирования на софт клавиши
msgBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel); 
// На какой кнопке фокусироваться по умолчанию
msgBox.setDefaultButton(QMessageBox::Ok); 
/* Запускаем QMessageBox. После выполнения, в ret будет лежать значение кнопки, на которую нажали - это необходимо для дальнейшей обработки событий*/
int ret = msgBox.exec(); 
// Собственно вот этот case и отвечает за обработку событий
switch (ret) {   
    case QMessageBox::Save:
     // Сюда пишем обработку события Cancel
        break;
     case QMessageBox::Ok:
     // Сюда пишем обработку события Ok 
        break;
    default:
     // Сюда пишем обработку события по умолчанию
        break;
}

 

Вам также может понравиться

Об авторе WebSofter

Web - технологии

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...