Тип QML MessageDialog
Диалоговое окно с сообщением. Подробнее...
| Оператор импорта: | import Qt.labs.platform 1.0 |
| С тех пор: | Qt 5.8 |
| Наследует: |
Свойства
- buttons : флаги
- detailedText : строка
- informativeText : строка
- text : строка
Сигналы
- void abortClicked()
- void applyClicked()
- void cancelClicked()
- void clicked(button)
- void closeClicked()
- void discardClicked()
- void helpClicked()
- void ignoreClicked()
- void noClicked()
- void noToAllClicked()
- void okClicked()
- void openClicked()
- void resetClicked()
- void restoreDefaultsClicked()
- void retryClicked()
- void saveAllClicked()
- void saveClicked()
- void yesClicked()
- void yesToAllClicked()
Подробное описание
Тип MessageDialog предоставляет API QML для диалоговых окон с сообщениями нативных платформ.
Диалоговое окно с сообщением используется для информирования пользователя или задавания ему вопроса. Диалоговое окно с сообщением отображает основное сообщение, чтобы оповестить пользователя о ситуации, информационное сообщение для дальнейшего объяснения оповещения или для задавания пользователю вопроса, и необязательное подробное сообщение для предоставления ещё больше данных, если пользователь его запросит. Окно сообщений также может отображать настраиваемый набор кнопок для принятия ответа пользователя.
Чтобы отобразить диалоговое окно с сообщением, создайте экземпляр MessageDialog, задайте необходимые свойства и вызовите open().
MessageDialog {
buttons: MessageDialog.Ok
text: "The document has been modified."
} Пользователь должен нажать кнопку ОК, чтобы закрыть диалоговое окно с сообщением. Модальное диалоговое окно с сообщением блокирует остальную часть графического интерфейса, пока сообщение не будет закрыто.
Более сложный подход, чем просто оповещение пользователя об событии, заключается также в том, чтобы спросить пользователя, что делать с этим событием. Сохраните вопрос в свойстве informative text и укажите свойство buttons в набор кнопок, которые вы хотите как набор ответов пользователя. Кнопки задаются путём объединения значений с помощью побитового оператора 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.
Документация по сигналам
void abortClicked()
Этот сигнал генерируется при нажатии кнопки Прервать.
void applyClicked()
Этот сигнал генерируется при нажатии кнопки Применить.
void cancelClicked()
Этот сигнал испускается при нажатии на Отмена.
void clicked(button)
Этот сигнал испускается при нажатии на кнопку диалогового окна button.
См. также buttons.
void closeClicked()
Этот сигнал испускается при нажатии на Закрыть.
void discardClicked()
Этот сигнал испускается при нажатии на Отклонить.
void helpClicked()
Этот сигнал испускается при нажатии на Справка.
void ignoreClicked()
Этот сигнал испускается при нажатии на Пропустить.
void noClicked()
Этот сигнал испускается при нажатии на Нет.
void noToAllClicked()
Этот сигнал испускается при нажатии на Нет для всех.
void okClicked()
Этот сигнал испускается при нажатии на ОК.
void openClicked()
Этот сигнал испускается при нажатии на Открыть.
void resetClicked()
Этот сигнал испускается при нажатии на Сбросить.
void restoreDefaultsClicked()
Этот сигнал испускается при нажатии на Восстановить значения по умолчанию.
void retryClicked()
Этот сигнал испускается при нажатии на Повторить.
void saveAllClicked()
Этот сигнал испускается при нажатии на Сохранить все.
void saveClicked()
Этот сигнал испускается при нажатии на Сохранить.
void yesClicked()
Этот сигнал испускается при нажатии на Да.
void yesToAllClicked()
Этот сигнал испускается при нажатии на Да для всех.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-qt-labs-platform-messagedialog.html