QWidget::paintEngine: Should no longer be called
时间: 2023-10-19 09:10:14 浏览: 181
Painter.rar
这个警告是由于 Qt 5.15 版本中的一些改变所导致的。在早期版本中,Qt 中的所有小部件都会使用 paintEngine() 方法进行渲染。而在新版本中,Qt 引入了一个新的渲染引擎,名为 RHI(Render Hardware Interface)。这个新的渲染引擎不再需要小部件调用 paintEngine() 方法,因此在新版本中,当调用 paintEngine() 方法时会发出这个警告。
如果你不想看到这个警告,可以在代码中使用 setAttribute(Qt::WA_PaintOutsidePaintEvent) 方法来禁用小部件的 paintEngine() 方法。例如:
```cpp
QWidget *widget = new QWidget(parent);
widget->setAttribute(Qt::WA_PaintOutsidePaintEvent);
```
或者,你也可以忽略这个警告,因为它并不会影响程序的正常运行。
阅读全文