qt中用代码绘制的图用鼠标点击怎样消失啊,!
比如说用代码绘制了一个红色的正方形,用鼠标点一下,然后它消失,这个该怎么写啊😣
把painter保存成类的成员在paintEvent和mousePressEvent都能访问,重写mousePressEvent函数,
用这种方法需要绘图时指定模式
painter->setCompositionMode(QPainter::CompositionMode_SourceOver);
painter->fillRect(point.x - (point.width/2), point.y - (point.width/2),
point.width, point.width, QColor(255,0,0,255));
mousePressEvent(QMouseEvent *event) {
if(event->button()==Qt::LeftButton){//如果鼠标左键被点击
painter->setCompositionMode(QPainter::CompositionMode_Clear);
painter->eraseRect(point.x - (point.width/2), point.y -(point.width/2),
point.width, point.width);
}
设标志位,保存图形的路径,点击时判断 path.contains(QPoint) 鼠标位置是不是在 范围里面,如果是的话改变标志位,update一下