Тип QML LinearGradient
Отображает линейный градиент. Подробнее...
| Заявление об импорте: | import QtGraphicalEffects 1.13 |
| С момента: | 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, высота). Установка значений по умолчанию для 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 : Градиент
Градиент определяется двумя или более цветами, которые плавно смешиваются. Цвета задаются набором дочерних элементов 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.13/qml-qtgraphicaleffects-lineargradient.html