Тип QML Диалог
Диалоговое окно всплывающего типа со стандартными кнопками и заголовком, используемое для краткосрочного взаимодействия с пользователем. Подробнее...
| Заявление об импорте: | import QtQuick.Controls 2.15 |
| С тех пор: | Qt 5.8 |
| Наследует: |
Свойства
- footer : Элемент
- header : Элемент
- implicitFooterHeight : вещественное число
- implicitFooterWidth : вещественное число
- implicitHeaderHeight : вещественное число
- implicitHeaderWidth : вещественное число
- result : целое число
- standardButtons : перечисление
- title : строка
Сигналы
Методы
- void accept()
- void done(int result)
- void reject()
- AbstractButton standardButton(StandardButton button)
Подробное описание
Диалог — это всплывающее окно, в основном используемое для краткосрочных задач и краткого общения с пользователем. Аналогично ApplicationWindow и Page, диалог организован в три раздела: header, contentItem и footer.
Заголовок и кнопки диалога
Заголовок диалога title отображается с помощью панели заголовка, специфичной для стиля, которая по умолчанию назначается как заголовок диалога header.
Стандартные кнопки диалога управляются элементом DialogButtonBox, который по умолчанию назначается в качестве нижней части диалога footer. Свойство стандартных кнопок диалога standardButtons передается в соответствующее свойство панели кнопок. Кроме того, сигналы accepted() и rejected() панели кнопок подключаются к соответствующим сигналам в Диалоге.
Dialog {
id: dialog
title: "Title"
standardButtons: Dialog.Ok | Dialog.Cancel
onAccepted: console.log("Ok clicked")
onRejected: console.log("Cancel clicked")
} Модальные диалоги
Модальный диалог modal блокирует ввод в другой контент под диалогом. При открытии модального диалога пользователь должен завершить взаимодействие с диалогом и закрыть его, прежде чем сможет получить доступ к любому другому контенту в том же окне.
Dialog {
id: dialog
modal: true
standardButtons: Dialog.Ok
} Безмасштабные диалоги
Безмасштабный диалог — это диалог, работающий независимо от других элементов вокруг диалога. При открытии безмасштабного диалога пользователю разрешается взаимодействовать как с диалогом, так и с другим контентом в том же окне.
Dialog {
id: dialog
modal: false
standardButtons: Dialog.Ok
} См. также DialogButtonBox и Управляющие элементы всплывающего окна.
Документация по свойствам
footer : Элемент
Это свойство содержит элемент нижней части диалога. Элемент нижней части расположен внизу и имеет размер по ширине диалога. Значение по умолчанию — null.
Примечание: Назначение элемента DialogButtonBox в качестве нижней части диалога автоматически подключает его сигналы accepted() и rejected() к соответствующим сигналам в Диалоге.
Примечание: Назначение элемента DialogButtonBox, ToolBar или TabBar в качестве нижней части диалога автоматически устанавливает соответствующее свойство DialogButtonBox::position, ToolBar::position или TabBar::position в значение Footer.
См. также header.
header : Элемент
Это свойство содержит элемент заголовка диалога. Элемент заголовка расположен вверху и имеет размер по ширине диалога. Значение по умолчанию — null.
Примечание: Назначение элемента DialogButtonBox в качестве заголовка диалога автоматически подключает его сигналы accepted() и rejected() к соответствующим сигналам в Диалоге.
Примечание: Назначение элемента 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.
Примечание: Соответствующий обработчик — onAccepted.
См. также rejected().
applied()
Этот сигнал излучается, когда нажата стандартная кнопка Dialog.Apply.
Примечание: Соответствующий обработчик — onApplied.
Этот сигнал был введен в QtQuick.Controls 2.3 (Qt 5.10).
См. также discarded() и reset().
discarded()
Этот сигнал излучается, когда нажата стандартная кнопка Dialog.Discard.
Примечание: Соответствующий обработчик — onDiscarded.
Этот сигнал был введен в QtQuick.Controls 2.3 (Qt 5.10).
См. также reset() и applied().
helpRequested()
Этот сигнал излучается, когда нажата стандартная кнопка Dialog.Help.
Примечание: Соответствующий обработчик — onHelpRequested.
Этот сигнал был введен в QtQuick.Controls 2.3 (Qt 5.10).
См. также accepted() и rejected().
rejected()
Этот сигнал излучается, когда диалоговое окно было отклонено интерактивно или путем вызова reject().
Примечание: Этот сигнал не излучается при закрытии диалогового окна с помощью close() или установке visible в false.
Примечание: Соответствующий обработчик — onRejected.
См. также accepted().
reset()
Этот сигнал излучается, когда нажата стандартная кнопка Dialog.Reset.
Примечание: Соответствующий обработчик — onReset.
Этот сигнал был введен в QtQuick.Controls 2.3 (Qt 5.10).
См. также discarded() и applied().
Документация методов
void accept()
Закрывает диалоговое окно и излучает сигнал accepted().
void done(int result)
Закрывает диалоговое окно, устанавливает result и излучает accepted() или rejected() в зависимости от того, является ли результат Dialog.Accepted или Dialog.Rejected, соответственно.
Этот метод был введен в QtQuick.Controls 2.3 (Qt 5.10).
См. также accept(), reject() и result.
void reject()
Закрывает диалоговое окно и излучает сигнал rejected().
AbstractButton standardButton(StandardButton button)
Возвращает указанную стандартную кнопку 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.15/qml-qtquick-controls2-dialog.html