3,881
社区成员
发帖
与我相关
我的任务
分享
void Widget::paintEvent(QPaintEvent *)
{
QPainter painter(this);
painter.fillRect(rect(),Qt::green); //首先填充成绿色
painter.setCompositionMode(QPainter::CompositionMode_Clear); //设置为清除模式,之后的绘图会将绘图区域设置为transparent
painter.setBrush(Qt::transparent); //启动填充,利用填充来清理
painter.drawRect(rect().adjusted(50,50,-50,-50)); //清除内部矩形
}
这个是在窗口的paint函数中操作,你只需要把绘图设备改为image,启动清理模式(注意用完关闭)。然后可以用fillPath或者drawpath来清理你的区域,