Spec-Zone.ru › Qt 6.1

Тип 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

Модуль 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

Spec-Zone.ru

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