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