Тип 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 предоставляет API QML для встроенных диалогов сообщений платформы.
Диалог сообщения используется для информирования пользователя или задавания ему вопроса. Диалог сообщения отображает основную строку текста для оповещения пользователя о ситуации, информативную строку для дальнейшего объяснения предупреждения или для задавания пользователю вопроса, и необязательную детальную строку для предоставления ещё больше данных по запросу пользователя. Окно сообщения также может отображать настраиваемый набор кнопок для получения ответа пользователя.
Чтобы отобразить диалог сообщения, создайте экземпляр MessageDialog, задайте необходимые свойства и вызовите open().
MessageDialog {
buttons: MessageDialog.Ok
text: "The document has been modified."
} Пользователь должен нажать кнопку ОК, чтобы закрыть диалог сообщения. Модальный диалог сообщения блокирует остальную часть графического интерфейса, пока сообщение не будет закрыто.
Более сложный подход, чем просто оповещение пользователя о событии, заключается в том, чтобы также спросить пользователя, что ему сделать с этим. Сохраните вопрос в свойстве информативного текста и задайте свойство кнопок набора кнопок, которые вы хотите как набор ответов пользователя. Кнопки задаются путём комбинирования значений с помощью побитового оператора OR. Порядок отображения кнопок зависит от платформы.
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.1/qml-qt-labs-platform-messagedialog.html