在Qt中使用第三方库QCustomplot时,运行出现了以下警告,虽然不影响运行。
QPainter::begin: Paint device returned engine == 0, type: 2
QPainter::setRenderHint: Painter must be active to set rendering hints
void __cdecl QCPLayer::drawToPaintBuffer(void) paint buffer returned inactive painter
解决方式:
在第三方库qcustomplot.cpp文件中查找函数
QCPPainter *QCPPaintBufferPixmap::startPainting() {
QCPPainter *result = new QCPPainter(&mBuffer);
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
result->setRenderHint(QPainter::HighQualityAntialiasing);
#endif
return result;
}
修改为:
QCPPainter *QCPPaintBufferPixmap::startPainting()
{
if(mBuffer.height() <=0){
mBuffer = QPixmap(1,1);
}
QCPPainter *result = new QCPPainter(&mBuffer);
#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
result->setRenderHint(QPainter::HighQualityAntialiasing);
#endif
return result;
}
博客主要讲述在Qt中使用第三方库QCustomplot时运行出现警告,虽不影响运行但给出了解决方式,即需在第三方库qcustomplot.cpp文件中查找函数并进行修改。
1959

被折叠的 条评论
为什么被折叠?



