qt绘制渐变区域

// 原理:通过点到线,然后叠加成区域。同理,可使用其他图形

QPainter painter(m_pWidget); QLinearGradient linearGradient(QPointF(
0, 0), QPointF(m_iPainterLevelPoint, 0)); //从点(0,0)开始到点(m_iPainterLevelPoint,0)结束,确定一条直线 linearGradient.setColorAt(0,Qt::black); linearGradient.setColorAt(1,m_colorDestinationColor); //指定渐变区域以外的区域的扩散方式 linearGradient.setSpread(QGradient::RepeatSpread); //将直线开始点设为0,终点设为1,然后分段设置颜色 painter.setBrush(linearGradient); painter.drawRect(-1,-1,m_pWidget->width()+1,m_pWidget->height()+1);

 

posted @ 2017-12-22 15:57  风来风往风伤(TiAmo)  阅读(314)  评论(0编辑  收藏  举报