Spec-Zone.ru › Qt 5.15

Тип QML DialogButtonBox

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

Заявление об импорте: import QtQuick.Controls 2.15
С момента: 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()

См. также 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

Spec-Zone.ru

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