Тип QML DialogButtonBox
Блок кнопок, используемый в диалоговых окнах. Подробнее...
| Заявление об импорте: | import QtQuick.Controls |
| С момента: | Qt 5.8 |
| Наследует: |
Свойства
- alignment : flags
- buttonLayout : перечисление
- delegate : Компонент
- position : перечисление
- standardButtons : перечисление
Прикрепленные свойства
- buttonBox : DialogButtonBox
- buttonRole : перечисление
Сигналы
Методы
- AbstractButton standardButton(StandardButton button)
Подробное описание
Диалоговые окна и информационные сообщения обычно представляют кнопки в порядке, соответствующем рекомендациям по интерфейсу для данной платформы. Разные платформы часто выстраивают кнопки диалоговых окон в разном порядке. DialogButtonBox позволяет разработчику добавлять кнопки и автоматически использовать соответствующий порядок для платформы пользователя.
Большинство кнопок в диалоговом окне следуют определенным ролям. К таким ролям относятся:
- Принятие или отклонение диалогового окна.
- Запрос помощи.
- Выполнение действий в самом диалоговом окне (таких как сброс полей или применение изменений).
Также могут существовать альтернативные способы закрытия диалогового окна, которые могут привести к разрушительным результатам.
Большинство диалоговых окон имеют кнопки, которые можно считать стандартными (например, кнопки «ОК» и «Отмена»). Иногда удобно создавать эти кнопки стандартным способом.
Есть несколько способов использования DialogButtonBox. Один из способов — указать стандартные кнопки (например, «ОК», «Отмена», «Сохранить») и позволить блоку кнопок настроить кнопки.
DialogButtonBox {
standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel
onAccepted: console.log("Ok clicked")
onRejected: console.log("Cancel clicked")
} В качестве альтернативы, кнопки и их роли можно задавать вручную:
DialogButtonBox {
Button {
text: qsTr("Save")
DialogButtonBox.buttonRole: DialogButtonBox.AcceptRole
}
Button {
text: qsTr("Close")
DialogButtonBox.buttonRole: DialogButtonBox.DestructiveRole
}
} Вы также можете смешивать обычные кнопки и стандартные кнопки.
Когда кнопка нажимается в блоке кнопок, сигнал clicked() генерируется для фактически нажатой кнопки. Кроме того, следующие сигналы автоматически генерируются при нажатии кнопки с соответствующей ролью(ями):
| Роль | Сигнал |
|---|---|
AcceptRole, YesRole
|
accepted() |
ApplyRole |
applied() |
DiscardRole |
discarded() |
HelpRole |
helpRequested() |
RejectRole, NoRole
|
rejected() |
ResetRole |
reset() |
См. также Диалоговое окно.
Документация по свойствам
alignment : flags
Это свойство содержит выравнивание кнопок.
Возможные значения:
| Константа | Описание |
|---|---|
undefined |
Кнопки масштабируются для заполнения доступного места. |
Qt.AlignLeft |
Кнопки выравниваются по левому краю. |
Qt.AlignHCenter |
Кнопки выравниваются по горизонтали по центру. |
Qt.AlignRight |
Кнопки выравниваются по правому краю. |
Qt.AlignTop |
Кнопки выравниваются по верхнему краю. |
Qt.AlignVCenter |
Кнопки выравниваются по вертикали по центру. |
Qt.AlignBottom |
Кнопки выравниваются по нижнему краю. |
[since QtQuick.Controls 2.5 (Qt 5.12)] buttonLayout : перечисление
Это свойство содержит политику макета кнопок, используемую при размещении кнопок в блоке кнопок. Значение по умолчанию зависит от платформы.
Доступные значения:
| Константа | Описание |
|---|---|
DialogButtonBox.WinLayout |
Использовать политику, соответствующую приложениям на Windows. |
DialogButtonBox.MacLayout |
Использовать политику, соответствующую приложениям на macOS. |
DialogButtonBox.KdeLayout |
Использовать политику, соответствующую приложениям на KDE. |
DialogButtonBox.GnomeLayout |
Использовать политику, соответствующую приложениям на GNOME. |
DialogButtonBox.AndroidLayout |
Использовать политику, соответствующую приложениям на Android. |
Это свойство было введено в QtQuick.Controls 2.5 (Qt 5.12).
delegate : Компонент
Это свойство содержит делегат для создания стандартных кнопок.
См. также standardButtons.
position : перечисление
Это свойство содержит положение блока кнопок.
Примечание: Если блок кнопок назначен заголовком или подвалом ApplicationWindow или страницы, соответствующее положение устанавливается автоматически.
Возможные значения:
| Константа | Описание |
|---|---|
DialogButtonBox.Header |
Блок кнопок находится вверху, как заголовок окна или страницы. |
DialogButtonBox.Footer |
Блок кнопок находится внизу, как заголовок окна или страницы. |
Значение по умолчанию — Footer.
См. также Dialog::header и Dialog::footer.
standardButtons : перечисление
Это свойство содержит комбинацию стандартных кнопок, используемых блоком кнопок.
DialogButtonBox {
standardButtons: DialogButtonBox.Ok | DialogButtonBox.Cancel
onAccepted: console.log("Ok clicked")
onRejected: console.log("Cancel clicked")
} Кнопки будут размещены в соответствующем порядке для платформы пользователя.
Возможные флаги:
| Константа | Описание |
|---|---|
DialogButtonBox.Ok |
Кнопка "OK", определённая с помощью AcceptRole. |
DialogButtonBox.Open |
Кнопка "Открыть", определённая с помощью AcceptRole. |
DialogButtonBox.Save |
Кнопка "Сохранить", определённая с помощью AcceptRole. |
DialogButtonBox.Cancel |
Кнопка "Отмена", определённая с помощью RejectRole. |
DialogButtonBox.Close |
Кнопка "Закрыть", определённая с помощью RejectRole. |
DialogButtonBox.Discard |
Кнопка "Отбросить" или "Не сохранять", в зависимости от платформы, определённая с помощью DestructiveRole. |
DialogButtonBox.Apply |
Кнопка "Применить", определённая с помощью ApplyRole. |
DialogButtonBox.Reset |
Кнопка "Сбросить", определённая с помощью ResetRole. |
DialogButtonBox.RestoreDefaults |
Кнопка "Восстановить значения по умолчанию", определённая с помощью ResetRole. |
DialogButtonBox.Help |
Кнопка "Справка", определённая с помощью HelpRole. |
DialogButtonBox.SaveAll |
Кнопка "Сохранить всё", определённая с помощью AcceptRole. |
DialogButtonBox.Yes |
Кнопка "Да", определённая с помощью YesRole. |
DialogButtonBox.YesToAll |
Кнопка "Да для всех", определённая с помощью YesRole. |
DialogButtonBox.No |
Кнопка "Нет", определённая с помощью NoRole. |
DialogButtonBox.NoToAll |
Кнопка "Нет для всех", определённая с помощью NoRole. |
DialogButtonBox.Abort |
Кнопка "Прервать", определённая с помощью RejectRole. |
DialogButtonBox.Retry |
Кнопка "Повторить", определённая с помощью AcceptRole. |
DialogButtonBox.Ignore |
Кнопка "Пропустить", определённая с помощью AcceptRole. |
DialogButtonBox.NoButton |
Недействительная кнопка. |
См. также standardButton().
Документация по присоединённому свойству
[только для чтения] DialogButtonBox.buttonBox : DialogButtonBox
Это присоединённое свойство содержит блок кнопок, управляющий этой кнопкой, или null если кнопка не находится в блоке кнопок.
DialogButtonBox.buttonRole : перечисление
Это присоединённое свойство содержит роль каждой кнопки в блоке кнопок.
DialogButtonBox {
Button {
text: qsTr("Save")
DialogButtonBox.buttonRole: DialogButtonBox.AcceptRole
}
Button {
text: qsTr("Close")
DialogButtonBox.buttonRole: DialogButtonBox.DestructiveRole
}
} Доступные значения:
| Константа | Описание |
|---|---|
DialogButtonBox.InvalidRole |
Кнопка недействительна. |
DialogButtonBox.AcceptRole |
Нажатие на кнопку приводит к принятию диалога (например, OK). |
DialogButtonBox.RejectRole |
Нажатие на кнопку приводит к отклонению диалога (например, Отмена). |
DialogButtonBox.DestructiveRole |
Нажатие на кнопку вызывает разрушающее изменение (например, для отбрасывания изменений) и закрывает диалог. |
DialogButtonBox.ActionRole |
Нажатие на кнопку вызывает изменения элементов внутри диалога. |
DialogButtonBox.HelpRole |
Нажатие на кнопку позволяет запросить справку. |
DialogButtonBox.YesRole |
Кнопка - это кнопка типа "Да". |
DialogButtonBox.NoRole |
Кнопка - это кнопка типа "Нет". |
DialogButtonBox.ResetRole |
Кнопка сбрасывает поля диалога до значений по умолчанию. |
DialogButtonBox.ApplyRole |
Кнопка применяет текущие изменения. |
Документация по сигналам
accepted()
Этот сигнал испускается при нажатии кнопки, определённой с помощью AcceptRole или YesRole.
Примечание: Соответствующий обработчик — onAccepted.
См. также rejected(), clicked() и helpRequested().
[since QtQuick.Controls 2.3 (Qt 5.10)] applied()
Этот сигнал испускается при нажатии кнопки, определённой с помощью ApplyRole.
Примечание: Соответствующий обработчик — onApplied.
Этот сигнал был введён в QtQuick.Controls 2.3 (Qt 5.10).
См. также discarded() и reset().
clicked(AbstractButton button)
Этот сигнал испускается при нажатии на кнопку button внутри блока кнопок.
Примечание: Соответствующий обработчик — onClicked.
См. также accepted(), rejected() и helpRequested().
[since QtQuick.Controls 2.3 (Qt 5.10)] discarded()
Этот сигнал испускается при нажатии на кнопку, определённую с помощью DiscardRole.
Примечание: Соответствующий обработчик — onDiscarded.
Этот сигнал был введён в QtQuick.Controls 2.3 (Qt 5.10).
См. также reset() и applied().
helpRequested()
Этот сигнал испускается при нажатии на кнопку, определённую с помощью HelpRole.
Примечание: Соответствующий обработчик — onHelpRequested.
См. также accepted(), rejected() и clicked().
rejected()
Этот сигнал испускается при нажатии на кнопку, определённую с помощью RejectRole или NoRole.
Примечание: Соответствующий обработчик — onRejected.
См. также accepted(), helpRequested() и clicked().
[since QtQuick.Controls 2.3 (Qt 5.10)] reset()
Этот сигнал испускается при нажатии на кнопку, определённую с помощью ResetRole.
Примечание: Соответствующий обработчик — onReset.
Этот сигнал был введён в QtQuick.Controls 2.3 (Qt 5.10).
См. также discarded() и applied().
Документация по методам
AbstractButton standardButton(StandardButton button)
Возвращает указанную стандартную кнопку или null если она не существует.
См. также standardButtons.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qml-qtquick-controls2-dialogbuttonbox.html