Как нарисовать линейную градиентную дугу с Qt QPainter?

Я пытаюсь разработать кастомQProgressBar это будет выглядеть следующим образом:

Я создал класс, который расширяет QProgressBar, и реализовал paintEvent ():

void CircularProgressBar::paintEvent(QPaintEvent*) {

int progress = this->value();
int progressInDegrees = (double)(progress*360)/100;

int barWidth = 20;

QPainter painter(this);
painter.setRenderHint(QPainter::Antialiasing, true);

painter.setPen(QPen(Qt::black, barWidth, Qt::SolidLine,Qt::RoundCap));

painter.drawArc(barWidth/2, barWidth/2, this->width() - barWidth, this->height() - barWidth,
                90*16, progressInDegrees*-16);}

Это прекрасно работает для рисования круглого индикатора, но у меня проблемы с цветом линейного градиента. Я пытался создатьQPen сQLinearGradient объект, и я попытался установитьQPainter прикасаться кQLinearGradient объект, но ни одна стратегия не сработала. Можно ли нарисовать дугу сQPainter что имеет линейный градиент цвета?

Ответы на вопрос(2)

Ваш ответ на вопрос