Spec-Zone.ru › Qt 5.11

Тип QML MessageDialog

Нативное диалоговое окно сообщения. Подробнее...

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

Dialog

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

Свойства

  • buttons : flags
  • 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
  • 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 : строка

Это свойство содержит текст, отображаемый в области подробностей.

См. также text и informativeText.

informativeText : строка

Это свойство содержит информативный текст, который предоставляет более полное описание сообщения.

Информативный текст может быть использован для расширения текста с целью предоставления пользователю дополнительной информации.

См. также текст и detailedText.

text : строка

Это свойство содержит текст, отображаемый в диалоговом окне сообщения.

См. также informativeText и detailedText.

Документация по сигналам

abortClicked()

Этот сигнал генерируется при нажатии на Прервать.

applyClicked()

Этот сигнал генерируется при нажатии на Применить.

cancelClicked()

Этот сигнал генерируется при нажатии на Отмена.

clicked(button)

Этот сигнал испускается при нажатии на кнопку диалогового окна button.

См. также buttons.

closeClicked()

Этот сигнал испускается при нажатии на кнопку Закрыть.

discardClicked()

Этот сигнал испускается при нажатии на кнопку Отбросить.

helpClicked()

Этот сигнал испускается при нажатии на кнопку Справка.

ignoreClicked()

Этот сигнал испускается при нажатии на кнопку Пропустить.

noClicked()

Этот сигнал испускается при нажатии на кнопку Нет.

noToAllClicked()

Этот сигнал испускается при нажатии на кнопку Нет для всех.

okClicked()

Этот сигнал испускается при нажатии на кнопку ОК.

openClicked()

Этот сигнал испускается при нажатии на кнопку Открыть.

resetClicked()

Этот сигнал испускается при нажатии на кнопку Сбросить.

restoreDefaultsClicked()

Этот сигнал испускается при нажатии на кнопку Восстановить значения по умолчанию.

retryClicked()

Этот сигнал испускается при нажатии на кнопку Повторить.

saveAllClicked()

Этот сигнал испускается при нажатии на кнопку Сохранить все.

saveClicked()

Этот сигнал испускается при нажатии на кнопку Сохранить.

yesClicked()

Этот сигнал испускается при нажатии на кнопку Да.

yesToAllClicked()

Этот сигнал испускается при нажатии на кнопку Да для всех.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/archives/qt-5.11/qml-qt-labs-platform-messagedialog.html

Spec-Zone.ru

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