解决QCustomPlot库提示警告信息

博客主要讲述在Qt中使用第三方库QCustomplot时运行出现警告,虽不影响运行但给出了解决方式,即需在第三方库qcustomplot.cpp文件中查找函数并进行修改。

在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;
}

编译时错误(语法级用法错误) 错误信息:error: no matching function for call to 'QCPItemEllipse::QCPItemEllipse()' → 对应原因 4(QCPItem 未指定父对象); 错误信息:error: 'class QCPColorMap' has no member named 'setScale' → 对应原因 2(误写函数名,2.1.1 确实有setScale,可能是拼写错误)。 2. 运行时崩溃(Debug 模式断言 / Release 模式闪退) 断言错误:ASSERT failure in QCPColorMapData::setCell: "keyIndex out of range" → 对应原因 1(QCPColorMapData 维度顺序错误); 断言错误:ASSERT failure in QCPItem::setParent: "parent must be a QCustomPlot" → 对应原因 4(QCPItem 无父对象); 闪退 / 段错误:SIGSEGV (Segmentation fault) → 对应原因 2(颜色条未绑定)或原因 4(野指针访问)。 3. 运行时警告(控制台输出) 警告:QCPColorMap::setDataRange: no color scale assigned → 对应原因 2(颜色条未绑定); 警告:QCPAxis::setTickVector: tick positions out of axis range → 对应原因 3(刻度与范围冲突); 警告:QCPTextElement::setFont: font family not available → 对应原因 5(字体未找到,中文乱码)。 4. 显示异常(无编译 / 运行错误,但界面不符合预期) 坐标轴无刻度 / 刻度标签空白 → 对应原因 3(刻度配置逻辑颠倒); 颜色条无颜色 / 回波颜色单一 → 对应原因 2(颜色条未绑定); 网格(距离环、十字线)不显示 → 对应原因 4(QCPItem 无父对象); 标题不显示 / 中文乱码 → 对应原因 5(颜色冲突 / 字体问题); 回波显示错乱 / 部分区域无颜色 → 对应原因 1(QCPColorMapData 维度错误)。
最新发布
11-23
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

taciturn丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值