Spec-Zone.ru › Qt 5.12

Тип 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 предоставляет QML API для встроенных диалогов сообщений на платформе.

Диалог сообщения используется для информирования пользователя или задавания ему вопроса. Диалог сообщения отображает основную строку текста, чтобы предупредить пользователя о ситуации, информативный текст, чтобы дополнительно объяснить предупреждение или задать пользователю вопрос, и необязательный детализированный текст, чтобы предоставить ещё больше данных, если пользователь запросит это. Окно сообщения также может отображать настраиваемый набор кнопок для принятия ответа пользователя.

Чтобы отобразить диалог сообщения, создайте экземпляр MessageDialog, установите необходимые свойства и вызовите open().

MessageDialog {
    buttons: MessageDialog.Ok
    text: "The document has been modified."
}

Пользователь должен нажать кнопку OK, чтобы закрыть диалог сообщения. Модальный диалог сообщения блокирует остальную часть графического интерфейса пользователя до тех пор, пока сообщение не будет закрыто.

Более сложный подход, чем просто предупреждение пользователя об событии, заключается в том, чтобы также спросить пользователя, что ему делать по этому поводу. Храните вопрос в свойстве информативного текста и задайте свойство кнопок на набор кнопок, который вы хотите в качестве набора ответов пользователя. Кнопки задаются путём объединения значений с помощью побитового оператора 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.12/qml-qt-labs-platform-messagedialog.html

Spec-Zone.ru

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