Как вывести окно с сообщением на Qt5?
Добавим строку
1 |
#include <QMessageBox> |
в заголовочный файл.
Использование статических функций класса:
1 |
QMessageBox::warning(this, "Внимание","Это очень важный текст\n www.itmathrepetitor.ru"); |
Результат:
Наряду с warning доступны information, critical, question (и еще about, aboutQt). Описание функции:
StandardButton | information(QWidget * parent, const QString & title, const QString & text, StandardButtons buttons = Ok, StandardButton defaultButton = NoButton) |
Создание объекта:
1 2 3 4 |
QMessageBox msgBox; msgBox.setWindowTitle("Пример"); msgBox.setText("Тестовое сообщение"); msgBox.exec(); |
Результат:
Обработка выбора пользователя:
1 2 3 4 5 6 7 8 9 10 11 |
QMessageBox msgBox; //www.itmathrepetitor.ru msgBox.setText("Внимательно прочтите!"); msgBox.setInformativeText("Ок - процесс пошел\nCancel - замести следы"); msgBox.setStandardButtons(QMessageBox::Ok | QMessageBox::Cancel); msgBox.setIcon(QMessageBox::Information); msgBox.setDefaultButton(QMessageBox::Ok); int res = msgBox.exec(); if (res == QMessageBox::Ok) //нажата кнопка Ok doSomething(); else //отмена stopSomething(); // отмена |
Результат:
Здесь мы добавляем иконку QMessageBox::Information. Еще варианты QMessageBox::Question, QMessageBox::Warning, QMessageBox::Critical и QMessageBox::NoIcon. Их изображения: