Spec-Zone.ru › Qt 6.0

Тип QML DialogButtonBox

Блок кнопок, используемый в диалогах. Подробнее...

Заявление импорта: import QtQuick.Controls 2.0
С момента: Qt 5.8
Наследует:

Container

  • Список всех членов, включая наследуемые

Свойства

  • alignment : флаги
  • buttonLayout : перечисление
  • delegate : Компонент
  • position : перечисление
  • standardButtons : перечисление

Прикреплённые свойства

  • buttonBox : DialogButtonBox
  • buttonRole : перечисление

Сигналы

  • accepted()
  • applied()
  • clicked(AbstractButton button)
  • discarded()
  • helpRequested()
  • rejected()
  • reset()

Методы

  • 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API