Тип QML DialogButtonBox
Блок кнопок, используемый в диалогах. Подробнее...
| Заявление импорта: | import QtQuick.Controls 2.0 |
| С момента: | Qt 5.8 |
| Наследует: |
Свойства
- alignment : флаги
- 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 : флаги
Это свойство содержит выравнивание кнопок.
Возможные значения:
| Постоянная | Описание |
|---|---|
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 |
Кнопка "ОК", определённая с помощью 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 |
Нажатие кнопки приводит к подтверждению диалогового окна (например, ОК). |
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)
Возвращает указанную стандартную кнопку button, или null если она не существует.
См. также standardButtons.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.0/qml-qtquick-controls2-dialogbuttonbox.html