Тип QML LinearGradient
Отрисовывает линейный градиент. Подробнее...
| Заявление об импорте: | import QtGraphicalEffects 1.14 |
| С момента: | 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
Это свойство позволяет кэшировать выходные пиксели эффекта для повышения производительности отрисовки.
Каждый раз, когда изменяются свойства source или effect, пиксели в кэше должны быть обновлены. Потребление памяти увеличивается, так как для хранения выходных данных эффекта требуется дополнительный буфер памяти.
Рекомендуется отключить кэширование при анимации свойств source или effect.
По умолчанию свойство установлено в 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 : Gradient
Градиент определяется двумя или более цветами, которые плавно смешиваются. Цвета задаются набором дочерних элементов GradientStop, каждый из которых определяет позицию на градиенте от 0.0 до 1.0 и цвет. Позиция каждого GradientStop определяется свойством position, а цвет — свойством color.
| Примеры вывода с различными значениями градиента | ||
|---|---|---|
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 отрисовывается в промежуточный буфер пикселей, а значения alpha из результата используются для определения видимости пикселей градиента на дисплее. Значение по умолчанию для 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.14/qml-qtgraphicaleffects-lineargradient.html