Spec-Zone.ru › Qt 5.15

Тип QML MessageDialog

Встроенный диалог с сообщением. Подробнее...

Заявление об импорте: import Qt.labs.platform 1.1
С момента: Qt 5.8
Наследуется от:

Dialog

  • Список всех членов, включая унаследованные

Свойства

  • 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API