Тип QML LinearGradient
Отображает линейный градиент. Подробнее...
| Заявление об импорте: | import QtGraphicalEffects 1.15 |
| С момента: | QtGraphicalEffects 1.0 |
| Наследует: |
Свойства
Подробное описание
Градиент определяется двумя или более цветами, которые плавно смешиваются. Цвета начинаются от заданной начальной точки и заканчиваются в заданной конечной точке.
| Применённый эффект |
|---|
Примечание: Этот эффект доступен при работе с OpenGL.
Пример
Следующий пример показывает, как применить эффект.
import QtQuick 2.12
import QtGraphicalEffects 1.12
Item {
width: 300
height: 300
LinearGradient {
anchors.fill: parent
start: Qt.point(0, 0)
end: Qt.point(0, 300)
gradient: Gradient {
GradientStop { position: 0.0; color: "white" }
GradientStop { position: 1.0; color: "black" }
}
}
} Документация по свойствам
cached : bool
Это свойство позволяет кэшировать выходные пиксели эффекта для повышения производительности рендеринга.
Каждый раз, когда изменяются свойства источника или эффекта, пиксели в кэше должны быть обновлены. Потребление памяти увеличивается, так как требуется дополнительный буфер памяти для хранения выходных данных эффекта.
Рекомендуется отключать кэш, когда свойства источника или эффекта анимируются.
По умолчанию свойство установлено в false.
end : variant
Это свойство определяет конечную точку, где отображается цвет при значении позиции градиента 1,0. Цвета с меньшими значениями позиции отображаются линейно по направлению к начальной точке. Точка задаётся в пикселях, а значение по умолчанию — Qt.point(0, height). Установка значений по умолчанию для start и end приводит к линейному градиенту по всей высоте по оси y.
| Примеры вывода с различными значениями end | ||
|---|---|---|
| end: Qt.point(300, 300) | end: Qt.point(150, 150) | end: Qt.point(300, 0) |
| start: Qt.point(0, 0) | start: Qt.point(0, 0) | start: Qt.point(0, 0) |
gradient : Gradient
Градиент определяется двумя или более цветами, которые плавно смешиваются. Цвета задаются набором дочерних элементов GradientStop, каждый из которых определяет позицию на градиенте от 0,0 до 1,0 и цвет. Позиция каждого GradientStop определяется свойством position, а цвет — свойством color.
| Примеры вывода с различными значениями gradient | ||
|---|---|---|
gradient:Gradient {
GradientStop {
position: 0.000
color: Qt.rgba(1, 0, 0, 1)
}
GradientStop {
position: 0.167
color: Qt.rgba(1, 1, 0, 1)
}
GradientStop {
position: 0.333
color: Qt.rgba(0, 1, 0, 1)
}
GradientStop {
position: 0.500
color: Qt.rgba(0, 1, 1, 1)
}
GradientStop {
position: 0.667
color: Qt.rgba(0, 0, 1, 1)
}
GradientStop {
position: 0.833
color: Qt.rgba(1, 0, 1, 1)
}
GradientStop {
position: 1.000
color: Qt.rgba(1, 0, 0, 1)
}
} |
gradient:Gradient {
GradientStop {
position: 0.0
color: "#F0F0F0"
}
GradientStop {
position: 0.5
color: "#000000"
}
GradientStop {
position: 1.0
color: "#F0F0F0"
}
} |
gradient:Gradient {
GradientStop {
position: 0.0
color: "#00000000"
}
GradientStop {
position: 1.0
color: "#FF000000"
}
} |
| start: Qt.point(0, 0) | start: Qt.point(0, 0) | start: Qt.point(0, 0) |
| end: Qt.point(300, 300) | end: Qt.point(300, 300) | end: Qt.point(300, 300) |
source : variant
Это свойство определяет элемент, который будет заполнен градиентом. Элемент источника рендерится в промежуточный буфер пикселей, а значения альфа из результата используются для определения видимости пикселей градиента на экране. Значение по умолчанию для source — неопределённое, и в этом случае вся область эффекта заполняется градиентом.
| Примеры вывода с различными значениями source | ||
|---|---|---|
| source: undefined | source: Image { source: images/butterfly.png } | |
| start: Qt.point(0, 0) | start: Qt.point(0, 0) | |
| end: Qt.point(300, 300) | end: Qt.point(300, 300) |
Примечание: Не поддерживается встраивание эффекта в сам себя, например, установкой source на родительский элемент эффекта.
start : variant
Это свойство определяет начальную точку, где отображается цвет при значении позиции градиента 0,0. Цвета с большими значениями позиции отображаются линейно по направлению к конечной точке. Точка задаётся в пикселях, а значение по умолчанию — Qt.point(0, 0). Установка значений по умолчанию для start и end приводит к линейному градиенту по всей высоте по оси y.
| Примеры вывода с различными значениями start | ||
|---|---|---|
| start: QPoint(0, 0) | start: QPoint(150, 150) | start: QPoint(300, 0) |
| end: QPoint(300, 300) | end: QPoint(300, 300) | end: QPoint(300, 300) |
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-5.15/qml-qtgraphicaleffects-lineargradient.html