Тип 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 предоставляет QML API для встроенных диалогов сообщений на платформе.
Диалог сообщения используется для информирования пользователя или задавания ему вопроса. Диалог сообщения отображает основную строку текста, чтобы предупредить пользователя о ситуации, информативный текст, чтобы дополнительно объяснить предупреждение или задать пользователю вопрос, и необязательный детализированный текст, чтобы предоставить ещё больше данных, если пользователь запросит это. Окно сообщения также может отображать настраиваемый набор кнопок для принятия ответа пользователя.
Чтобы отобразить диалог сообщения, создайте экземпляр MessageDialog, установите необходимые свойства и вызовите open().
MessageDialog {
buttons: MessageDialog.Ok
text: "The document has been modified."
} Пользователь должен нажать кнопку OK, чтобы закрыть диалог сообщения. Модальный диалог сообщения блокирует остальную часть графического интерфейса пользователя до тех пор, пока сообщение не будет закрыто.
Более сложный подход, чем просто предупреждение пользователя об событии, заключается в том, чтобы также спросить пользователя, что ему делать по этому поводу. Храните вопрос в свойстве информативного текста и задайте свойство кнопок на набор кнопок, который вы хотите в качестве набора ответов пользователя. Кнопки задаются путём объединения значений с помощью побитового оператора 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.12/qml-qt-labs-platform-messagedialog.html