Тип QML Диалог
Диалоговое окно-попап со стандартными кнопками и заголовком, используемое для кратковременного взаимодействия с пользователем. Подробнее...
| Заявление об импорте: | import QtQuick.Controls 2.5 |
| С момента: | Qt 5.8 |
| Наследует: |
Свойства
- footer : Элемент
- header : Элемент
- implicitFooterHeight : вещественное число
- implicitFooterWidth : вещественное число
- implicitHeaderHeight : вещественное число
- implicitHeaderWidth : вещественное число
- result : целое число
- standardButtons : перечисление
- title : строка
Сигналы
Методы
- void accept()
- void done(result)
- void reject()
- AbstractButton standardButton(button)
Подробное описание
Диалоговое окно — это всплывающее окно, в основном используемое для краткосрочных задач и краткого общения с пользователем. Аналогично ApplicationWindow и Page, диалог организован на три раздела: header, contentItem и footer.
Заголовок и кнопки диалога
Заголовок диалога (title) отображается строкой заголовка, определяемой стилем, которая назначается в качестве заголовка диалога (header) по умолчанию.
Стандартные кнопки диалога управляются элементом DialogButtonBox, который назначается в качестве подвала диалога (footer) по умолчанию. Свойство standardButtons диалога передаётся соответствующему свойству поля кнопок. Кроме того, сигналы accepted() и rejected() поля кнопок подключаются к соответствующим сигналам в Dialog.
Dialog {
id: dialog
title: "Title"
standardButtons: Dialog.Ok | Dialog.Cancel
onAccepted: console.log("Ok clicked")
onRejected: console.log("Cancel clicked")
} Модальные диалоги
Модальное диалоговое окно блокирует ввод в другой контент под диалоговым окном. При открытии модального диалогового окна пользователь должен закончить взаимодействие с диалоговым окном и закрыть его, прежде чем он сможет получить доступ к любому другому контенту в том же окне.
Dialog {
id: dialog
modal: true
standardButtons: Dialog.Ok
} Безмасштабные диалоги
Безмасштабное диалоговое окно — это диалоговое окно, которое работает независимо от другого контента вокруг диалогового окна. При открытии безмасштабного диалогового окна пользователю разрешается взаимодействовать как с диалоговым окном, так и с другим контентом в том же окне.
Dialog {
id: dialog
modal: false
standardButtons: Dialog.Ok
} См. также DialogButtonBox и Popup Controls.
Документация по свойствам
footer : Элемент
Это свойство содержит элемент подвала диалогового окна. Элемент подвала размещается внизу и масштабируется по ширине диалогового окна. Значение по умолчанию — null.
Примечание: Назначение DialogButtonBox в качестве подвала диалогового окна автоматически подключает его сигналы accepted() и rejected() к соответствующим сигналам в Dialog.
Примечание: Назначение DialogButtonBox, ToolBar или TabBar в качестве подвала диалогового окна автоматически устанавливает соответствующее свойство DialogButtonBox::position, ToolBar::position или TabBar::position в значение Footer.
См. также header.
header : Элемент
Это свойство содержит элемент заголовка диалогового окна. Элемент заголовка размещается вверху и масштабируется по ширине диалогового окна. Значение по умолчанию — null.
Примечание: Назначение DialogButtonBox в качестве заголовка диалогового окна автоматически подключает его сигналы accepted() и rejected() к соответствующим сигналам в Dialog.
Примечание: Назначение DialogButtonBox, ToolBar или TabBar в качестве заголовка диалогового окна автоматически устанавливает соответствующее свойство DialogButtonBox::position, ToolBar::position или TabBar::position в значение Header.
См. также footer.
[только для чтения] implicitFooterHeight : вещественное число
Это свойство содержит неявную высоту подвала.
Значение равно footer && footer.visible ? footer.implicitHeight : 0.
Это свойство было добавлено в QtQuick.Controls 2.5 (Qt 5.12).
См. также implicitFooterWidth и implicitHeaderHeight.
[только для чтения] implicitFooterWidth : вещественное число
Это свойство содержит неявную ширину подвала.
Значение равно footer && footer.visible ? footer.implicitWidth : 0.
Это свойство было добавлено в QtQuick.Controls 2.5 (Qt 5.12).
См. также implicitFooterHeight и implicitHeaderWidth.
[только для чтения] implicitHeaderHeight : вещественное число
Это свойство содержит неявную высоту заголовка.
Значение равно header && header.visible ? header.implicitHeight : 0.
Это свойство было добавлено в QtQuick.Controls 2.5 (Qt 5.12).
См. также implicitHeaderWidth и implicitFooterHeight.
[только для чтения] implicitHeaderWidth : вещественное число
Это свойство содержит неявную ширину заголовка.
Значение равно header && header.visible ? header.implicitWidth : 0.
Это свойство было добавлено в QtQuick.Controls 2.5 (Qt 5.12).
См. также implicitHeaderHeight и implicitFooterWidth.
result : целое число
Это свойство содержит код результата.
Стандартные коды результатов:
| Константа | Описание |
|---|---|
Dialog.Accepted |
Диалоговое окно было принято. |
Dialog.Rejected |
Диалоговое окно было отклонено. |
Это свойство было добавлено в QtQuick.Controls 2.3 (Qt 5.10).
См. также accept(), reject() и done().
standardButtons : перечисление
Это свойство содержит комбинацию стандартных кнопок, используемых диалоговым окном.
Dialog {
id: dialog
title: "Title"
standardButtons: Dialog.Ok | Dialog.Cancel
onAccepted: console.log("Ok clicked")
onRejected: console.log("Cancel clicked")
} Кнопки будут размещены в соответствующем порядке для платформы пользователя.
Возможные флаги:
| Константа | Описание |
|---|---|
Dialog.Ok |
Кнопка "ОК" определена с помощью AcceptRole. |
Dialog.Open |
Кнопка "Открыть" определена с помощью AcceptRole. |
Dialog.Save |
Кнопка "Сохранить" определена с помощью AcceptRole. |
Dialog.Cancel |
Кнопка "Отмена" определена с помощью RejectRole. |
Dialog.Close |
Кнопка "Закрыть" определена с помощью RejectRole. |
Dialog.Discard |
Кнопка "Отбросить" или "Не сохранять", в зависимости от платформы, определена с помощью DestructiveRole. |
Dialog.Apply |
Кнопка "Применить" определена с помощью ApplyRole. |
Dialog.Reset |
Кнопка "Сбросить" определена с помощью ResetRole. |
Dialog.RestoreDefaults |
Кнопка "Восстановить значения по умолчанию" определена с помощью ResetRole. |
Dialog.Help |
Кнопка "Справка" определена с помощью HelpRole. |
Dialog.SaveAll |
Кнопка "Сохранить всё" определена с помощью AcceptRole. |
Dialog.Yes |
Кнопка "Да" определена с помощью YesRole. |
Dialog.YesToAll |
Кнопка "Да для всех" определена с помощью YesRole. |
Dialog.No |
Кнопка "Нет" определена с помощью NoRole. |
Dialog.NoToAll |
Кнопка "Нет для всех" определена с помощью NoRole. |
Dialog.Abort |
Кнопка "Прервать" определена с помощью RejectRole. |
Dialog.Retry |
Кнопка "Повторить" определена с помощью AcceptRole. |
Dialog.Ignore |
Кнопка "Пропустить" определена с помощью AcceptRole. |
Dialog.NoButton |
Недействительная кнопка. |
См. также DialogButtonBox.
title : строка
Это свойство содержит заголовок диалога.
Заголовок отображается в заголовке диалога.
Dialog {
title: qsTr("About")
Label {
text: "Lorem ipsum..."
}
} Документация по сигналам
accepted()
Этот сигнал испускается, когда диалог был принят интерактивно или путем вызова accept().
Примечание: Этот сигнал не испускается при закрытии диалога с помощью close() или при установке visible в false.
См. также rejected().
applied()
Этот сигнал испускается при нажатии стандартной кнопки Dialog.Apply.
Этот сигнал был представлен в QtQuick.Controls 2.3 (Qt 5.10).
См. также discarded() и reset().
discarded()
Этот сигнал испускается при нажатии стандартной кнопки Dialog.Discard.
Этот сигнал был представлен в QtQuick.Controls 2.3 (Qt 5.10).
См. также reset() и applied().
helpRequested()
Этот сигнал испускается при нажатии стандартной кнопки Dialog.Help.
Этот сигнал был представлен в QtQuick.Controls 2.3 (Qt 5.10).
См. также accepted() и rejected().
rejected()
Этот сигнал испускается, когда диалог был отклонен интерактивно или путем вызова reject().
Примечание: Этот сигнал не испускается при закрытии диалога с помощью close() или при установке visible в false.
См. также accepted().
reset()
Этот сигнал испускается при нажатии стандартной кнопки Dialog.Reset.
Этот сигнал был представлен в QtQuick.Controls 2.3 (Qt 5.10).
См. также discarded() и applied().
Документация по методам
void accept()
Закрывает диалог и испускает сигнал accepted().
void done(result)
Закрывает диалог, устанавливает значение result и испускает accepted() или rejected() в зависимости от того, является ли результат Dialog.Accepted или Dialog.Rejected соответственно.
Этот метод был представлен в QtQuick.Controls 2.3 (Qt 5.10).
См. также accept(), reject() и result.
void reject()
Закрывает диалог и испускает сигнал rejected().
AbstractButton standardButton(button)
Возвращает указанную стандартную кнопку или null, если она не существует.
Этот метод был представлен в QtQuick.Controls 2.3 (Qt 5.10).
См. также standardButtons.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.13/qml-qtquick-controls2-dialog.html