绘制矩形只有2个角在Qt中四舍五入

use*_*197 7 qt

我正在开发一个应用程序,我需要使用Painter填充Pixmap的颜色.Pixmap是矩形类型,(底边)2个圆角.前2个角是平的/正常的.

我试图使用Qt的drawRoundedRect()API,但它会使矩形的所有角都变圆.我需要绘制矩形,只有两个圆角和另外两个圆角.

如果有人遇到这种情况,请告诉我解决方案.

谢谢

Rom*_*rev 17

您可以使用QPainterPath:

    QPainterPath path;
    path.setFillRule( Qt::WindingFill );
    path.addRoundedRect( QRect(50,50, 200, 100), 20, 20 );
    path.addRect( QRect( 200, 50, 50, 50 ) ); // Top right corner not rounded
    path.addRect( QRect( 50, 100, 50, 50 ) ); // Bottom left corner not rounded
    painter.drawPath( path.simplified() ); // Only Top left & bottom right corner rounded
Run Code Online (Sandbox Code Playgroud)

  • @ user2111197如果它解决了您的问题,您应该将其标记为已接受的答案 (2认同)