Тип QML MessageDialog
Встроенный диалог с сообщением. Подробнее...
| Заявление об импорте: | import Qt.labs.platform 1.1 |
| С момента: | Qt 5.8 |
| Наследуется от: |
Свойства
- buttons : flags
- detailedText : string
- informativeText : string
- text : string
Сигналы
- 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."
} Пользователь должен нажать кнопку ОК, чтобы закрыть диалог с сообщением. Модальный диалог с сообщением блокирует остальную часть графического интерфейса до закрытия сообщения.
Более сложный подход, чем просто информирование пользователя об событии, заключается в том, чтобы также спросить пользователя, что делать по этому поводу. Сохраните вопрос в свойстве информативный текст и задайте свойство кнопки набору кнопок, который вы хотите в качестве набора ответов пользователя. Кнопки задаются путём комбинирования значений с помощью побитового оператора ИЛИ. Порядок отображения кнопок зависит от платформы.
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
- WinRT
Модуль 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::setAttribute(Qt::AA_EnableHighDpiScaling);
QApplication app(argc, argv);
QQmlApplicationEngine engine;
engine.load(QUrl(QStringLiteral("qrc:/main.qml")));
return app.exec();
} Примечание: Типы в модулях Qt.labs не гарантируют совместимость в будущих версиях.
Документация свойств
buttons : flags
Это свойство содержит комбинацию кнопок, используемых диалогом с сообщением. Значение по умолчанию — 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 : string
Это свойство содержит текст, который будет отображаться в области подробностей.
См. также text и informativeText.
informativeText : string
Это свойство содержит информативный текст, который предоставляет более полное описание сообщения.
Информативный текст может быть использован для расширения текста, чтобы предоставить пользователю больше информации.
См. также text и detailedText.
text : string
Это свойство содержит текст, который будет отображаться в диалоге с сообщением.
См. также 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-5.15/qml-qt-labs-platform-messagedialog.html