Имеем такой код:
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 текста, без написания своего компонента.