QPainter错误Paint设备返回引擎== 0,类型3,Qpainter未激活

时间:2013-04-24 12:32:15

标签: c++ qt qpainter

我正在尝试描绘我的图像的一些点,我不知道为什么它不起作用。我已经定义了一个QImage,我想修改一些点。

QImage *cou= new QImage(height,largeur,QImage::Format_Mono);
    cou->fill(1);
    QPainter *fig=new QPainter (cou);
    for (i=0;i<size_;i++)
    {
        fig-> drawPoint(floor(propa[i]),nbmax[i]);
    }

当我执行代码时,我获得了

QPainter::begin: Paint device returned engine == 0, type: 3

并在以下几行中:

QPainter::drawPoints: Painter not active

2 个答案:

答案 0 :(得分:24)

QPainter::begin: Paint device returned engine == 0, type: 3

错误表示您尝试绘制的图像是空图像。使用isNull上的cou进行检查。
在构建图像时,图像为空的原因可能是错误的heightlargeur参数,或者您的内存不足

答案 1 :(得分:2)

QPaintEngine* eng = cou->painterEngine();
if(eng) {
//   create QPainter ...
}