Имеем такой код:
void GradientText::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
QRect rect = QRect(0,0, boundingRect().width(), boundingRect().height());
QLinearGradient grad(0, 0, 0, rect.height()); // << вертикальный
// QLinearGradient grad(0, 0, rect.width(), 0); // << горизонтальный
grad.setColorAt(0, "white");
grad.setColorAt(1, "black");
painter->setBrush(QBrush("green"));
painter->drawRect(rect);
painter->setFont(QFont("Times", 50, QFont::Normal)) ;
painter->setPen(QPen(QBrush(grad), 0));
painter->drawText(rect, "text1234");
}
По горизонтали текст заливается нормально, а по вертикали применяется цвет указанный в grad.setColorAt(0, "white");
Как починить? А ещё лучше как задать градиент для qml текста, без написания своего компонента.