Spec-Zone.ru › Qt

Тип QML MessageDialog

Всплывающее окно сообщения. Подробнее...

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

Dialog

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

Свойства

  • buttons : флаги
  • detailedText : строка
  • informativeText : строка
  • text : строка

Сигналы

  • abortClicked()
  • applyClicked()
  • cancelClicked()
  • clicked(кнопка)
  • 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

Модуль 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(кнопка)

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

Примечание: Соответствующий обработчик — 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.2/qml-qt-labs-platform-messagedialog.html

Spec-Zone.ru

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