Spec-Zone.ru › Qt 5.9

Тип QML MessageDialog

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

Оператор импорта: import Qt.labs.platform 1.0
С тех пор: Qt 5.8
Наследует:

Dialog

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

Свойства

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

Сигналы

  • void abortClicked()
  • void applyClicked()
  • void cancelClicked()
  • void clicked(button)
  • void closeClicked()
  • void discardClicked()
  • void helpClicked()
  • void ignoreClicked()
  • void noClicked()
  • void noToAllClicked()
  • void okClicked()
  • void openClicked()
  • void resetClicked()
  • void restoreDefaultsClicked()
  • void retryClicked()
  • void saveAllClicked()
  • void saveClicked()
  • void yesClicked()
  • void yesToAllClicked()

Подробное описание

Тип MessageDialog предоставляет API QML для диалоговых окон с сообщениями нативных платформ.

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

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

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

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

Более сложный подход, чем просто оповещение пользователя об событии, заключается также в том, чтобы спросить пользователя, что делать с этим событием. Сохраните вопрос в свойстве informative text и укажите свойство buttons в набор кнопок, которые вы хотите как набор ответов пользователя. Кнопки задаются путём объединения значений с помощью побитового оператора 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.

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

void abortClicked()

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

void applyClicked()

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

void cancelClicked()

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

void clicked(button)

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

См. также buttons.

void closeClicked()

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

void discardClicked()

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

void helpClicked()

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

void ignoreClicked()

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

void noClicked()

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

void noToAllClicked()

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

void okClicked()

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

void openClicked()

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

void resetClicked()

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

void restoreDefaultsClicked()

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

void retryClicked()

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

void saveAllClicked()

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

void saveClicked()

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

void yesClicked()

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

void yesToAllClicked()

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

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

Spec-Zone.ru

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