参考https://www.cnblogs.com/itrena/p/5938341.html

    QRectF rect = event->rect();
    QPainterPath path;

    path.moveTo(rect.center());
    path.arcTo(rect, 90, 120);

    int arcHeight = 50;
    QPainterPath subPath;
    subPath.addEllipse(rect.adjusted(arcHeight, arcHeight, -arcHeight, -arcHeight));

    // path为扇形 subPath为椭圆
    path -= subPath;

   QBrush brush = painter.brush();
   brush.setColor(QColor("#ff00ff"));
   painter.setBrush(brush);
//    painter->setPen(Qt::NoPen);
    painter.drawPath(path);

    painter.fillPath(path, QColor("#ff00ff") );
Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐