12

我正在尝试绘制图像的某些点,但我不知道为什么它不起作用。我已经定义了一个 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
4

2 回答 2

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

该错误意味着您尝试绘制的图像是空图像。使用isNulloncou进行检查。
图像为空的原因可能是构建图像时的错误heightlargeur参数,或者您内存不足

于 2013-04-24T12:49:36.947 回答
2
QPaintEngine* eng = cou->painterEngine();
if(eng) {
//   create QPainter ...
}
于 2016-07-27T10:29:08.933 回答