是否有一种方法可以在Qt中重新绘制区域

Is there a way to get the repainted area in Qt?

本文关键字:Qt 新绘制 区域 绘制 一种 是否 方法      更新时间:2023-10-16

当不带参数调用update()或repaint()时,所有内容(包括下面可见的元素)都被完全重新绘制。这可以通过将ClipRect作为参数传递来优化。是否有一个简单的方法来获得重绘区域,或者我必须手动确定它?

注:在使用QGraphicsScene时没有这样的问题,但是,我正在处理QmlApplicationViewer和QDeclarativeItems。可能有一种方法可以强制它具有相同的行为

是否有简单的方法来获得重新绘制的区域,或者我必须确定手动吗?

传递给paintEvent()的QPaintEvent对象包含rectregion成员,您可以检查这些成员以确定QWidget的哪些部分特别需要重新绘制。