qt绘图事件过滤器怎么不把原来的图去掉
时间: 2023-05-27 15:05:43 浏览: 85
在使用事件过滤器绘图时,如果不想把原来的图去掉,可以在绘图函数中使用QPainter的setCompositionMode()函数设置绘图模式为QPainter::CompositionMode_SourceOver,表示在原来的图上绘制新的图,而不是覆盖原来的图。
例如:
```cpp
bool MyWidget::eventFilter(QObject *obj, QEvent *event)
{
if (event->type() == QEvent::Paint) {
QPainter painter(this);
painter.setCompositionMode(QPainter::CompositionMode_SourceOver); // 设置绘图模式为在原来的图上绘制
painter.drawLine(0, 0, width(), height()); // 绘制一条线
return true;
}
return QWidget::eventFilter(obj, event);
}
```
这样,在绘制新的图时,原来的图就不会被清除掉了。
阅读全文