Тип QML MessageDialog
Встроенный диалог сообщения. Подробнее...
| Заявление об импорте: | import Qt.labs.platform 1.1 |
| С тех пор: | Qt 5.8 |
| Наследует: |
Свойства
- 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."
} Пользователь должен нажать кнопку ОК, чтобы закрыть диалог сообщения. Модальный диалог сообщения блокирует остальную часть графического интерфейса пользователя до закрытия сообщения.
Более сложный подход, чем просто предупреждение пользователя об событии, заключается в том, чтобы также спросить пользователя, что делать с ним. Сохраните вопрос в свойстве информационного текста и укажите свойство кнопок на набор кнопок, который вы хотите в качестве набора ответов пользователя. Кнопки задаются путем комбинирования значений с использованием побитового оператора ИЛИ. Порядок отображения кнопок зависит от платформы.
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.14/qml-qt-labs-platform-messagedialog.html