void Eraser::eraserRect(QRectF& rect, QImage* image)
{
for (int i=rect.x(); i<rect.x()+rect.width(); ++i)
{
for (int j=rect.y(); j<rect.y()+rect.height(); ++j)
{
image->setPixel(i, j, 0);
}
}
}
自定义一个橡皮,qt中自带的那个是eraseRect();什么的,画出来是一个白色的线,虽然擦除了,也覆盖了背景。
这个方法,定义一个image作为蒙板吧,然后调用写的mouseEvent事件处理就搞定