Тип QML MessageDialog
Всплывающее окно с сообщением. Подробнее...
| Выражение импорта: | import Qt.labs.platform 1.1 |
| С момента: | Qt 5.8 |
| Наследуется от: |
Свойства
- buttons : флаги
- detailedText : строка
- informativeText : строка
- text : строка
Сигналы
- abortClicked()
- applyClicked()
- cancelClicked()
- clicked(button)
- closeClicked()
- discardClicked()
- helpClicked()
- ignoreClicked()
- noClicked()
- noToAllClicked()
- okClicked()
- openClicked()
- resetClicked()
- restoreDefaultsClicked()
- retryClicked()
- saveAllClicked()
- saveClicked()
- yesClicked()
- yesToAllClicked()
Подробное описание
Тип MessageDialog предоставляет QML API для всплывающих окон с сообщениями нативных платформ.
Всплывающее окно с сообщением используется для информирования пользователя или задавания ему вопроса. Всплывающее окно отображает основное текстовое сообщение для оповещения пользователя о ситуации, информативный текст для дальнейшего объяснения оповещения или задавания пользователю вопроса, и необязательный детальный текст для предоставления ещё большего объёма данных, если пользователь этого попросит. Окно с сообщением также может отображать настраиваемый набор кнопок для получения ответа пользователя.
Чтобы показать всплывающее окно с сообщением, создайте экземпляр MessageDialog, задайте нужные свойства и вызовите open().
MessageDialog {
buttons: MessageDialog.Ok
text: "The document has been modified."
} Пользователь должен нажать кнопку ОК, чтобы закрыть всплывающее окно с сообщением. Модальное всплывающее окно с сообщением блокирует остальную часть графического интерфейса пользователя, пока сообщение не будет закрыто.
Более сложный подход, чем просто оповещение пользователя о событии, заключается в том, чтобы также спросить пользователя, что делать по этому поводу. Сохраните вопрос в свойстве информативный текст, и укажите свойство кнопки для набора кнопок, которые вы хотите, как набор пользовательских ответов. Кнопки задаются путём комбинирования значений с помощью побитового оператора ИЛИ. Порядок отображения кнопок зависит от платформы.
MessageDialog {
text: "The document has been modified."
informativeText: "Do you want to save your changes?"
buttons: MessageDialog.Ok | MessageDialog.Cancel
onAccepted: document.save()
} Сигнал clicked() передаёт информацию о нажатой кнопке.
Всплывающее окно с сообщением нативной платформы в настоящее время доступно на следующих платформах:
- iOS
- Android
Модуль Qt Labs Platform использует Qt Widgets в качестве резервного варианта на платформах, на которых нет нативной реализации. Поэтому приложения, использующие типы из модуля Qt Labs Platform, должны ссылаться на QtWidgets и использовать QApplication вместо QGuiApplication.
Чтобы связаться с библиотекой QtWidgets, добавьте следующее в ваш файл проекта qmake:
QT += widgets
Создайте экземпляр QApplication в main():
#include <QApplication>
#include <QQmlApplicationEngine>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
return app.exec();
} Примечание: Типы в модулях Qt.labs не гарантируют сохранение совместимости в будущих версиях.
Документация по свойствам
buttons : флаги
Это свойство содержит комбинацию кнопок, которые используются в диалоговом окне с сообщением. Значение по умолчанию — MessageDialog.NoButton.
Возможные флаги:
| Константа | Описание |
|---|---|
MessageDialog.Ok |
Кнопка «ОК», определённая с AcceptRole. |
MessageDialog.Open |
Кнопка «Открыть», определённая с AcceptRole. |
MessageDialog.Save |
Кнопка «Сохранить», определённая с AcceptRole. |
MessageDialog.Cancel |
Кнопка «Отмена», определённая с RejectRole. |
MessageDialog.Close |
Кнопка «Закрыть», определённая с RejectRole. |
MessageDialog.Discard |
Кнопка «Отбросить» или «Не сохранять», в зависимости от платформы, определённая с DestructiveRole. |
MessageDialog.Apply |
Кнопка «Применить», определённая с ApplyRole. |
MessageDialog.Reset |
Кнопка «Сбросить», определённая с ResetRole. |
MessageDialog.RestoreDefaults |
Кнопка «Восстановить значения по умолчанию», определённая с ResetRole. |
MessageDialog.Help |
Кнопка «Справка», определённая с HelpRole. |
MessageDialog.SaveAll |
Кнопка «Сохранить всё», определённая с AcceptRole. |
MessageDialog.Yes |
Кнопка «Да», определённая с YesRole. |
MessageDialog.YesToAll |
Кнопка «Да для всех», определённая с YesRole. |
MessageDialog.No |
Кнопка «Нет», определённая с NoRole. |
MessageDialog.NoToAll |
Кнопка «Нет для всех», определённая с NoRole. |
MessageDialog.Abort |
Кнопка «Прервать», определённая с RejectRole. |
MessageDialog.Retry |
Кнопка «Повторить», определённая с AcceptRole. |
MessageDialog.Ignore |
Кнопка «Пропустить», определённая с AcceptRole. |
MessageDialog.NoButton |
В диалоговом окне нет кнопок. |
См. также clicked().
detailedText : строка
Это свойство содержит текст, который должен быть отображён в области подробностей.
См. также text и informativeText.
informativeText : строка
Это свойство содержит информативный текст, который обеспечивает более полное описание сообщения.
Информативный текст можно использовать для расширения текста, чтобы предоставить пользователю больше информации.
См. также text и detailedText.
text : строка
Это свойство содержит текст, который должен быть отображён в диалоговом окне с сообщением.
См. также informativeText и detailedText.
Документация по сигналам
abortClicked()
Этот сигнал генерируется при нажатии кнопки Прервать.
Примечание: Соответствующий обработчик — onAbortClicked.
applyClicked()
Этот сигнал генерируется при нажатии кнопки Применить.
Примечание: Соответствующий обработчик — onApplyClicked.
cancelClicked()
Этот сигнал генерируется при нажатии кнопки Отмена.
Примечание: Соответствующий обработчик — onCancelClicked.
clicked(button)
Этот сигнал испускается при нажатии на кнопку диалогового окна button.
Примечание: Соответствующий обработчик — onClicked.
См. также buttons.
closeClicked()
Этот сигнал испускается при нажатии на кнопку Закрыть.
Примечание: Соответствующий обработчик — onCloseClicked.
discardClicked()
Этот сигнал испускается при нажатии на кнопку Отклонить.
Примечание: Соответствующий обработчик — onDiscardClicked.
helpClicked()
Этот сигнал испускается при нажатии на кнопку Справка.
Примечание: Соответствующий обработчик — onHelpClicked.
ignoreClicked()
Этот сигнал испускается при нажатии на кнопку Пропустить.
Примечание: Соответствующий обработчик — onIgnoreClicked.
noClicked()
Этот сигнал испускается при нажатии на кнопку Нет.
Примечание: Соответствующий обработчик — onNoClicked.
noToAllClicked()
Этот сигнал испускается при нажатии на кнопку Нет всем.
Примечание: Соответствующий обработчик — onNoToAllClicked.
okClicked()
Этот сигнал испускается при нажатии на кнопку ОК.
Примечание: Соответствующий обработчик — onOkClicked.
openClicked()
Этот сигнал испускается при нажатии на кнопку Открыть.
Примечание: Соответствующий обработчик — onOpenClicked.
resetClicked()
Этот сигнал испускается при нажатии на кнопку Сбросить.
Примечание: Соответствующий обработчик — onResetClicked.
restoreDefaultsClicked()
Этот сигнал испускается при нажатии на кнопку Восстановить значения по умолчанию.
Примечание: Соответствующий обработчик — onRestoreDefaultsClicked.
retryClicked()
Этот сигнал испускается при нажатии на кнопку Повторить.
Примечание: Соответствующий обработчик — onRetryClicked.
saveAllClicked()
Этот сигнал испускается при нажатии на кнопку Сохранить все.
Примечание: Соответствующий обработчик — onSaveAllClicked.
saveClicked()
Этот сигнал испускается при нажатии на кнопку Сохранить.
Примечание: Соответствующий обработчик — onSaveClicked.
yesClicked()
Этот сигнал испускается при нажатии на кнопку Да.
Примечание: Соответствующий обработчик — onYesClicked.
yesToAllClicked()
Этот сигнал испускается при нажатии на кнопку Да всем.
Примечание: Соответствующий обработчик — onYesToAllClicked.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qml-qt-labs-platform-messagedialog.html