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