Spec-Zone.ru › Qt 5.13

Тип QML MessageDialog

Диалоговое окно с сообщением нативного типа. Подробнее...

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

Dialog

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

Свойства

  • 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
  • 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 : флаги

Это свойство содержит комбинацию кнопок, используемых диалоговым окном с сообщением. Значение по умолчанию — 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()

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

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/qt-5.13/qml-qt-labs-platform-messagedialog.html

Spec-Zone.ru

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