Qt,设置一个独占裁剪区域

时间:2015-05-08 21:04:31

标签: qt qpainter

在Qt中,您可以使用模式ReplaceClip或IntesectClip为QPainter设置剪切区域,但我错过了一个" ExcludeClip"。你会如何画(填充)"甜甜圈" (一个有透明孔的圆圈)没有恢复到中间QPixmaps?

1 个答案:

答案 0 :(得分:2)

找到一个使用区域运行的解决方案:

QRegion rg1(outerRect,QRegion::Ellipse);
QRegion rg2(innerRect,QRegion::Ellipse);
QRegion rg3=rg1.subtracted(rg2);

painter->setClipRegion(rg3);