Тип QML DialogButtonBox
Панель кнопок, используемая в диалоговых окнах. Подробнее...
| Заявление об импорте: | import QtQuick.Controls 2.15 |
| С момента: | 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() |
См. также Dialog.
Документация по свойствам
alignment : флаги
Это свойство содержит выравнивание кнопок.
Возможные значения:
| Константа | Описание |
|---|---|
undefined |
Кнопки изменяются в размерах, чтобы заполнить доступное пространство. |
Qt.AlignLeft |
Кнопки выровнены слева. |
Qt.AlignHCenter |
Кнопки выровнены по горизонтали по центру. |
Qt.AlignRight |
Кнопки выровнены справа. |
Qt.AlignTop |
Кнопки выровнены по вертикали сверху. |
Qt.AlignVCenter |
Кнопки выровнены по вертикали по центру. |
Qt.AlignBottom |
Кнопки выровнены снизу. |
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().
applied()
Этот сигнал испускается при нажатии на кнопку, определённую с помощью ApplyRole.
Примечание: Соответствующий обработчик — onApplied.
Этот сигнал был добавлен в QtQuick.Controls 2.3 (Qt 5.10).
См. также discarded() и reset().
clicked(AbstractButton button)
Этот сигнал испускается при нажатии на кнопку внутри блока кнопок.
Примечание: Соответствующий обработчик — onClicked.
См. также accepted(), rejected() и helpRequested().
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().
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-5.15/qml-qtquick-controls2-dialogbuttonbox.html