我想将规范渐变添加到我的圆圈中的特定弧
但当我使用QCanonicalGradient
时,我的所有圆圈都将被填充,我试图使其他部分透明,但规范的渐变内插在我希望透明的其他部分之间,
你能帮我吗,我怎样才能用规范的渐变来插入特定的弧?
先感谢您
这是我的代码:
(我想在m_start和m_end之间进行插值)
QConicalGradient gradient( QPointF( m_xActualOuterRadius, m_yActualOuterRadius ), 0.0);
gradient.setColorAt(0.0, Qt::transparent);
gradient.setColorAt(m_startColor, Qt::transparent);
gradient.setColorAt(m_startColor, m_foregroundColor);
gradient.setColorAt(m_endColor, m_foregroundColor.lighter());
gradient.setColorAt(1.0, Qt::transparent);
答案 0 :(得分:0)
在drawPie()
中使用QPainter
方法,其中QBrush
已安装渐变。
例如(我在pixmap上画画,但你可以选择别的东西):
QPixmap pixmap(325,215);
QPainter p(&pixmap);//we will paint on pixmap
QConicalGradient gradient( QPointF( 50, 50 ), 0.0);//your gradient
gradient.setColorAt(0.0, Qt::blue);//colors which you want
gradient.setColorAt(0.2, Qt::yellow);
gradient.setColorAt(0.4, Qt::red);
gradient.setColorAt(0.75,Qt::green);
gradient.setColorAt(1.0, Qt::magenta);
p.setBrush(QBrush(gradient));//set brush, it is our background and it will be gradient
QRectF rectangle(10.0, 20.0, 80.0, 60.0);//preparation for drawPie method
int startAngle = 30 * 16;
int spanAngle = 120 * 16;
//it is from Qt documentstion, you can find best values for you
p.drawPie(rectangle, startAngle, spanAngle);
label->setPixmap(pixmap); //just show pixmap in label