Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Qt,设置独占剪裁区域_Qt_Qpainter - Fatal编程技术网

Qt,设置独占剪裁区域

Qt,设置独占剪裁区域,qt,qpainter,Qt,Qpainter,在Qt中,您可以使用ReplaceClip或IntesectClip模式为QPaint设置剪裁区域,但我忽略了“ExcludeClip”。如何绘制(填充)一个“甜甜圈”(带有透明孔的圆),而不恢复到中间Qpixmap?找到了一种使用区域的解决方案: QRegion rg1(outerRect,QRegion::Ellipse); QRegion rg2(innerRect,QRegion::Ellipse); QRegion rg3=rg1.subtracted(rg2); painter-&

在Qt中,您可以使用ReplaceClip或IntesectClip模式为QPaint设置剪裁区域,但我忽略了“ExcludeClip”。如何绘制(填充)一个“甜甜圈”(带有透明孔的圆),而不恢复到中间Qpixmap?

找到了一种使用区域的解决方案:

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

painter->setClipRegion(rg3);