Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: Гурман от Январь 29, 2018, 16:25



Название: QLinearGradient не работает на QPainter::drawLine()?
Отправлено: Гурман от Январь 29, 2018, 16:25
Надо закрасить прямую вертикальную линию градиентом.

Код:
        QLinearGradient lg = QLinearGradient();
        lg.setCoordinateMode(QGradient::ObjectBoundingMode );
        lg.setStart(0,0);
        lg.setFinalStop(0,1);
        lg.setColorAt(0.0,QColor(255,255,255));
        lg.setColorAt(0.7,QColor(255,255,000));
        lg.setColorAt(1.0,QColor(255,127,000));
        p.setPen( QPen(QBrush( lg ), 1) );

Закрашивает всю линию последним цветом. Встречаются сообщения, что в 4-й версии была ошибка с градиентом на вертикальных и горизонтальных линиях, но она выглядела иначе - закрашивалось серым. И QTBUG про 5-ю версию я не нашёл.

Я что-то делаю не так, или дырка всё ещё сохранилась?

PS: Чёрт... вот он баг (https://bugreports.qt.io/browse/QTBUG-30959). Никуда не делся. Аж до последней версии дотащили, бездельники.  >:(