Spec-Zone.ru › Qt 5.14

Тип QML DialogButtonBox

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

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

Container

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

Свойства

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

Присоединенные свойства

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

Сигналы

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

Методы

  • AbstractButton 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.

См. также rejected(), clicked() и helpRequested().

applied()

Этот сигнал испускается при нажатии кнопки, определённой с помощью ApplyRole.

Этот сигнал был добавлен в QtQuick.Controls 2.3 (Qt 5.10).

См. также discarded() и reset().

clicked(button)

Этот сигнал испускается при нажатии на кнопку внутри блока кнопок.

См. также accepted(), rejected() и helpRequested().

discarded()

Этот сигнал испускается при нажатии на кнопку, определённую с помощью DiscardRole.

Этот сигнал был добавлен в QtQuick.Controls 2.3 (Qt 5.10).

См. также reset() и applied().

helpRequested()

Этот сигнал испускается при нажатии на кнопку, определённую с помощью HelpRole.

См. также accepted(), rejected() и clicked().

rejected()

Этот сигнал испускается при нажатии кнопки, определённой с помощью RejectRole или NoRole.

См. также accepted(), helpRequested() и clicked().

reset()

Этот сигнал испускается при нажатии кнопки, определённой с помощью ResetRole.

Этот сигнал был добавлен в QtQuick.Controls 2.3 (Qt 5.10).

См. также discarded() и applied().

Документация методов

AbstractButton standardButton(button)

Возвращает указанную стандартную кнопку или null если её нет.

См. также standardButtons.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.14/qml-qtquick-controls2-dialogbuttonbox.html

Spec-Zone.ru

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