我正在尝试开发一个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);}
Run Code Online (Sandbox Code Playgroud)
这非常适合绘制圆形进度条,但是我遇到了条形线性渐变颜色的问题.我尝试QPen用QLinearGradient对象创建一个,我尝试将QPainter画笔设置为一个QLinearGradient对象,但两种策略都不起作用.是否可以绘制QPainter具有线性渐变颜色的圆弧?