Тип QML MessageDialog
Всплывающее окно сообщения. Подробнее...
| Заявление об импорте: | import Qt.labs.platform |
| С тех пор: | Qt 5.8 |
| Наследует: |
Свойства
- 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