Тип QML Control
Абстрактный базовый тип, предоставляющий общие для всех элементов управления функциональные возможности. Подробнее...
| Заявление импорта: | import QtQuick.Controls 2.2 |
| С момента: | Qt 5.7 |
| Наследует: | |
| Наследуется: | AbstractButton, BusyIndicator, ComboBox, Container, DayOfWeekRow, Dial, MenuSeparator, MonthGrid, Page, PageIndicator, Pane, ProgressBar, RangeSlider, ScrollBar, ScrollIndicator, ScrollView, Slider, SpinBox, StackView, ToolSeparator, Tumbler и WeekNumberColumn |
Свойства
- availableHeight : real
- availableWidth : real
- background : Item
- bottomPadding : real
- contentItem : Item
- focusPolicy : перечисление
- focusReason : перечисление
- font : шрифт
- hoverEnabled : bool
- hovered : bool
- leftPadding : real
- locale : Locale
- mirrored : bool
- padding : real
- rightPadding : real
- spacing : real
- topPadding : real
- visualFocus : bool
- wheelEnabled : bool
Подробное описание
Control — это базовый тип пользовательских элементов управления. Он получает события ввода от системного окна и рисует свое представление на экране.
Макет элемента управления
Следующая диаграмма иллюстрирует макет типичного элемента управления:
Значения implicitWidth и implicitHeight элемента управления, как правило, основаны на неявных размерах фона и элемента содержимого плюс любой padding. Эти свойства определяют, каким будет размер элемента управления, когда явно не указаны width или height.
Элемент background заполняет всю ширину и высоту элемента управления, если для него не задан явный размер.
Геометрия элемента contentItem определяется значением padding.
Обработка событий
Все элементы управления, за исключением неинтерактивных индикаторов, не пропускают щелчки и прикосновения к элементам, расположенным под ними. Например, если Pane используется в качестве заголовка или подвала для ApplicationWindow, элементы под ним не будут получать события мыши или касания.
См. также ApplicationWindow и Container.
Документация по свойствам
[только для чтения] availableHeight : real
Это свойство содержит высоту, доступную для contentItem после вычитания вертикального отступа из height элемента управления.
См. также Макет элемента управления, padding, topPadding и bottomPadding.
[только для чтения] availableWidth : real
Это свойство содержит ширину, доступную для contentItem после вычитания горизонтального отступа из width элемента управления.
См. также Макет элемента управления, padding, leftPadding и rightPadding.
background : Item
Это свойство содержит элемент фона.
Button {
id: control
text: qsTr("Button")
background: Rectangle {
implicitWidth: 100
implicitHeight: 40
opacity: enabled ? 1 : 0.3
color: control.down ? "#d0d0d0" : "#e0e0e0"
}
} Примечание: Если для элемента фона не указан явный размер, он автоматически соответствует размеру элемента управления. В большинстве случаев нет необходимости указывать ширину или высоту для элемента фона.
Примечание: Большинство элементов управления используют неявный размер элемента фона для расчета собственного неявного размера. Если вы заменяете элемент фона пользовательским, вы также должны рассмотреть предоставление разумного неявного размера для него (если это не элемент, например, Image, у которого есть свой неявный размер).
См. также Макет элемента управления.
bottomPadding : real
Это свойство содержит нижний отступ.
См. также Макет элемента управления, padding, topPadding и availableHeight.
contentItem : Item
Это свойство содержит визуальный элемент содержимого.
Button {
id: control
text: qsTr("Button")
contentItem: Label {
text: control.text
font: control.font
verticalAlignment: Text.AlignVCenter
}
} Примечание: Элемент содержимого автоматически изменяет размер, чтобы поместиться в отступ элемента управления.
Примечание: Большинство элементов управления используют неявный размер элемента содержимого для расчета собственного неявного размера. Если вы заменяете элемент содержимого пользовательским, вы также должны рассмотреть предоставление разумного неявного размера для него (если это не элемент, например, Text, у которого есть свой неявный размер).
См. также Макет элемента управления и padding.
focusPolicy : перечисление
Это свойство определяет способ получения фокуса элементом управления.
| Константа | Описание |
|---|---|
Qt.TabFocus |
Элемент управления получает фокус при нажатии клавиши Tab. |
Qt.ClickFocus |
Элемент управления получает фокус при щелчке. |
Qt.StrongFocus |
Элемент управления получает фокус при нажатии клавиши Tab и щелчке. |
Qt.WheelFocus |
Элемент управления получает фокус при нажатии клавиши Tab, щелчке и использовании колесика мыши. |
Qt.NoFocus |
Элемент управления не получает фокус. |
[только для чтения] focusReason : перечисление
Это свойство содержит причину последнего изменения фокуса.
Примечание: Это свойство не указывает, имеет ли элемент управления активный фокус, но причину, по которой элемент управления либо получил, либо потерял фокус.
| Постоянная | Описание |
|---|---|
Qt.MouseFocusReason |
Произошло действие мыши. |
Qt.TabFocusReason |
Нажата клавиша Tab. |
Qt.BacktabFocusReason |
Произошёл "Backtab". Ввод может включать клавиши Shift или Control; например, Shift+Tab. |
Qt.ActiveWindowFocusReason |
Система окон сделала это окно активным или неактивным. |
Qt.PopupFocusReason |
Приложение открыло/закрыло всплывающее окно, которое захватило/освободило фокус клавиатуры. |
Qt.ShortcutFocusReason |
Пользователь ввёл сокращение ярлыка метки. |
Qt.MenuBarFocusReason |
Панель меню получила фокус. |
Qt.OtherFocusReason |
Другая причина, обычно специфичная для приложения. |
См. также Item::activeFocus и visualFocus.
font : font
Это свойство содержит шрифт, текущий для элемента управления.
Это свойство описывает запрашиваемый шрифт элемента управления. Шрифт используется стилем элемента управления при отрисовке стандартных компонентов и позволяет обеспечить согласованность пользовательского интерфейса с нативным внешним видом платформы. Часто разные платформы или разные стили определяют разные шрифты для приложения.
Значение по умолчанию зависит от системной среды. ApplicationWindow поддерживает системный/темовый шрифт, который служит значением по умолчанию для всех элементов управления. Также могут быть специальные значения по умолчанию для определённых типов элементов управления. Вы также можете установить шрифт по умолчанию для элементов управления, передав пользовательский шрифт в QGuiApplication::setFont() перед загрузкой QML. Наконец, шрифт сравнивается с базой данных шрифтов Qt для поиска наилучшего совпадения.
Элемент управления распространяет явные свойства шрифта от родительского элемента к дочерним. Если вы измените определённое свойство шрифта элемента управления, это свойство распространяется на все дочерние элементы управления, переопределяя любые системные значения по умолчанию для этого свойства.
Page {
font.family: "Courier"
Column {
Label {
text: qsTr("This will use Courier...")
}
Switch {
text: qsTr("... and so will this")
}
}
} hoverEnabled : bool
Это свойство определяет, принимает ли элемент управления события наведения курсора. Значение по умолчанию — Qt.styleHints.useHoverEffects.
Установка этого свойства распространяет значение на все дочерние элементы управления, которые не имеют hoverEnabled явно установленным.
Вы также можете включить или отключить эффекты наведения для всех приложений Qt Quick Controls 2, установив QT_QUICK_CONTROLS_HOVER_ENABLED переменную среды.
См. также hovered.
[только для чтения] hovered : bool
Это свойство содержит значение, указывающее, находится ли элемент управления под курсором.
См. также hoverEnabled.
leftPadding : real
Это свойство содержит значение левого отступа.
См. также Макет элементов управления, padding, rightPadding и availableWidth.
locale : Locale
Это свойство содержит локаль элемента управления.
Она содержит локально-специфические свойства для форматирования данных и чисел. Если специальная локаль не установлена, это локаль родительского элемента или локаль по умолчанию.
Элемент управления распространяет локаль от родительского элемента к дочерним. Если вы измените локаль элемента управления, эта локаль распространяется на все дочерние элементы управления, переопределяя системную локаль по умолчанию.
См. также mirrored и LayoutMirroring.
[только для чтения] mirrored : bool
Это свойство содержит значение, указывающее, отображается ли элемент управления в зеркальном режиме.
Это свойство предоставлено для удобства. Элемент управления считается отображаемым в зеркальном режиме, когда направление его визуального макета справа налево; то есть, при использовании локали справа налево или когда LayoutMirroring.enabled равно true.
См. также locale, LayoutMirroring и Пользовательские интерфейсы справа налево.
padding : real
Это свойство содержит значение отступа по умолчанию.
Отступ добавляет пространство между каждым краем элемента содержимого и элементом фона, эффективно контролируя размер элемента содержимого. Чтобы указать значение отступа для определённого края элемента управления, задайте соответствующее свойство:
См. также Макет элемента управления, availableWidth, availableHeight, topPadding, leftPadding, rightPadding и bottomPadding.
rightPadding : real
Это свойство содержит правый отступ.
См. также Макет элемента управления, padding, leftPadding и availableWidth.
spacing : real
Это свойство содержит расстояние.
Расстояние полезно для элементов управления, имеющих несколько или повторяющихся строительных блоков. Например, некоторые стили используют расстояние для определения расстояния между текстом и индикатором CheckBox. Расстояние не навязывается элементом управления, поэтому каждый стиль может интерпретировать его по-разному, а некоторые могут его полностью игнорировать.
topPadding : real
Это свойство содержит верхний отступ.
См. также Макет элемента управления, padding, bottomPadding и availableHeight.
[только для чтения] visualFocus : bool
Это свойство содержит значение, указывающее, имеет ли элемент управления визуальный фокус. Это свойство является true, когда элемент управления имеет активный фокус, а причина фокусировки — Qt.TabFocusReason, Qt.BacktabFocusReason, или Qt.ShortcutFocusReason.
В общем случае для визуализации фокуса по нажатию клавиш предпочтительнее использовать это свойство по сравнению с Item::activeFocus. Это гарантирует, что фокус по нажатию клавиш визуализируется только при взаимодействии с клавишами, а не при взаимодействии через сенсорный ввод или мышь.
См. также focusReason и Item::activeFocus.
wheelEnabled : bool
Это свойство определяет, обрабатывает ли элемент управления события прокрутки. Значение по умолчанию — false.
Примечание: При включении событий прокрутки для элементов управления внутри элементов прокрутки, таких как Flickable, необходимо соблюдать осторожность, так как элемент управления будет потреблять эти события и тем самым прерывать прокрутку Flickable.
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.9/qml-qtquick-controls2-control.html