Тип QML Control
Абстрактный базовый тип, предоставляющий функциональность, общую для всех элементов управления. Подробнее...
| Оператор импорта: | import QtQuick.Controls 2.4 |
| С тех пор: | Qt 5.7 |
| Наследует: | |
| Наследуется: | AbstractButton, BusyIndicator, ComboBox, Container, Dial, MenuSeparator, Page, PageIndicator, Pane, ProgressBar, RangeSlider, ScrollBar, ScrollIndicator, ScrollView, Slider, SpinBox, StackView, ToolSeparator и Tumbler |
Свойства
- 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
- palette : палитра
- rightPadding : real
- spacing : real
- topPadding : real
- visualFocus : bool
- wheelEnabled : bool
Подробное описание
Control — это базовый тип элементов управления пользовательским интерфейсом. Он получает события ввода от системного окна и рисует свое представление на экране.
Макет элемента управления
Следующая диаграмма иллюстрирует макет типичного элемента управления:
Значения implicitWidth и implicitHeight элемента управления обычно основаны на неявных размерах фона и элемента содержимого плюс любой отступ. Эти свойства определяют, насколько большим будет элемент управления, когда не указаны явные ширина или высота.
Элемент background заполняет всю ширину и высоту элемента управления, если для него не указан явный размер.
Геометрия элемента contentItem определяется отступами.
Обработка событий
Все элементы управления, кроме неинтерактивных индикаторов, не пропускают щелчки и прикосновения к элементам под ними. Например, если Pane используется в качестве шапки или подвала ApplicationWindow, элементы под ним не получат события мыши или касания.
См. также ApplicationWindow и Container.
Документация по свойствам
[только для чтения] availableHeight : real
Это свойство содержит высоту, доступную для contentItem, после вычитания вертикального отступа из высоты элемента управления.
См. также Макет элемента управления, padding, topPadding и bottomPadding.
[только для чтения] availableWidth : real
Это свойство содержит ширину, доступную для contentItem, после вычитания горизонтального отступа из ширины элемента управления.
См. также Макет элемента управления, 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 или Ctrl; например, Shift+Tab. |
Qt.ActiveWindowFocusReason |
Система окон сделала это окно активным или неактивным. |
Qt.PopupFocusReason |
Приложение открыло/закрыло всплывающее окно, которое захватило/освободило фокус клавиатуры. |
Qt.ShortcutFocusReason |
Пользователь ввел сокращение метки. |
Qt.MenuBarFocusReason |
Панель меню получила фокус. |
Qt.OtherFocusReason |
Другая причина, обычно специфичная для приложения. |
См. также Item::activeFocus и visualFocus.
font : font
Это свойство содержит шрифт, текущий для элемента управления.
Это свойство описывает запрашиваемый шрифт элемента управления. Шрифт используется стилем элемента управления при отрисовке стандартных компонентов и позволяет обеспечить согласованность пользовательского интерфейса с родной платформой. На разных платформах или с разными стилями могут использоваться разные шрифты приложения.
Шрифт по умолчанию зависит от системной среды. ApplicationWindow сохраняет системный/темовый шрифт, который используется по умолчанию для всех элементов управления. Также могут быть специальные шрифты по умолчанию для определенных типов элементов управления. Вы можете установить шрифт по умолчанию для элементов управления, выполнив:
- передавая пользовательский шрифт в QGuiApplication::setFont() перед загрузкой QML; или
- указывающий шрифты в файле qtquickcontrols2.conf.
В конечном итоге шрифт сопоставляется с базой данных шрифтов Qt для поиска наилучшего соответствия.
Элемент управления распространяет явные свойства шрифта от родительского к дочерним элементам. Если вы измените определенное свойство шрифта элемента управления, это свойство передаётся всем дочерним элементам, переопределяя любые системные значения по умолчанию для этого свойства.
Page {
font.family: "Courier"
Column {
Label {
text: qsTr("This will use Courier...")
}
Switch {
text: qsTr("... and so will this")
}
}
} Полный список доступных свойств шрифта см. в документации по типу QML шрифт.
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
Это свойство содержит отступ по умолчанию.
Отступ добавляет пространство между каждым краем элемента содержимого и элементом фона, эффективно управляя размером элемента содержимого. Чтобы указать значение отступа для определённого края элемента управления, установите соответствующее свойство:
Примечание: Разные стили могут задавать отступ по умолчанию для определённых элементов управления по-разному, и эти способы могут меняться со временем по мере изменения руководящих принципов дизайна, на которых основан стиль. Чтобы гарантировать, что эти изменения не повлияют на заданные вами значения отступов, лучше всего использовать максимально специфичные доступные свойства. Например, вместо задания свойства отступа:
padding: 0
установите каждое конкретное свойство вместо этого:
leftPadding: 0 rightPadding: 0 topPadding: 0 bottomPadding: 0
См. также Макет элемента управления, availableWidth, availableHeight, topPadding, leftPadding, rightPadding и bottomPadding.
palette : palette
Это свойство содержит текущую палитру, установленную для элемента управления.
Это свойство описывает запрошенную палитру элемента управления. Палитра используется стилем элемента управления при отрисовке стандартных компонентов, и позволяет обеспечить согласованность пользовательского интерфейса с родной платформой. На разных платформах или с разными стилями могут использоваться разные палитры приложения.
Палитра по умолчанию зависит от системной среды. ApplicationWindow сохраняет системную/темовую палитру, которая используется по умолчанию для всех элементов управления. Также могут быть специальные палитры по умолчанию для определённых типов элементов управления. Вы можете установить палитру по умолчанию для элементов управления, выполнив:
- передавая пользовательскую палитру в QGuiApplication::setPalette() перед загрузкой QML; или
- указывающий цвета в файле qtquickcontrols2.conf.
Элемент управления распространяет явные свойства палитры от родительского к дочерним элементам. Если вы измените определённое свойство палитры элемента управления, это свойство передаётся всем дочерним элементам, переопределяя любые системные значения по умолчанию для этого свойства.
Page {
palette.text: "red"
Column {
Label {
text: qsTr("This will use red color...")
}
Switch {
text: qsTr("... and so will this")
}
}
} Полный список доступных цветов палитры см. в документации по типу QML палитра.
Это свойство было введено в QtQuick.Controls 2.3 (Qt 5.10).
См. также ApplicationWindow::palette и Popup::palette.
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/archives/qt-5.11/qml-qtquick-controls2-control.html