MoveLightCircleItem主要是对于区域圆环块的每一个小部分的绘制(小的item)
MoveLightCircleItem.cpp
QPainterPath MoveLightCircleItem::shape() const
{
QPainterPath arcPath1;
arcPath1.moveTo(radius1 / 2.0 + circleLeftUp_x1, radius1 / 2.0 + circleLeftUp_y1);
QRectF rectArc1(circleLeftUp_x1, circleLeftUp_y1, radius1, radius1); //x,y,w,h,
arcPath1.arcTo(rectArc1, m_startAngle, m_endAngle);
QPainterPath subPath1;
subPath1.moveTo(radius1 / 2.0 + circleLeftUp_x1, radius1 / 2.0 + circleLeftUp_y1);
QRectF rectArcLittle1(circleLeftUp_x1 + (radius1 - radius0) / 2.0, circleLeftUp_y1 + (radius1 - radius0) / 2.0, radius0, radius0); //x,y,w,h,
subPath1.arcTo(rectArcLittle1, m_startAngle-1, m_endAngle+2);
return QPainterPath(arcPath1-subPath1);
}
void MoveLightCircleItem::mousePressEvent(QGraphicsSceneMouseEvent* event)
{
if (event->button
qt绘制多个环的圆环,圆环分成32分,以及每个区域添加颜色
最新推荐文章于 2023-06-24 08:00:00 发布