QtPainter Error Paint device returned engine ==0, type 3 ,Painter not active

21,893

Solution 1

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

The error means that the image you're trying to paint is a null image. Use isNull on couto check this.
The cause of image being null may be the wrong height and largeur params when the image is constructed, or you're out of memory

Solution 2

QPaintEngine* eng = cou->painterEngine();
if(eng) {
//   create QPainter ...
}
Share:
21,893
Admin
Author by

Admin

Updated on July 05, 2022

Comments

  • Admin
    Admin almost 2 years

    I'm trying to paint some points of my image and I don't know why it doesn't work. I have defined a QImage and I want to modify some points.

    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]);
        }
    

    When I execute the code I obtain

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

    and in the following lines:

    QPainter::drawPoints: Painter not active
    
  • Nikolay Mihaylov
    Nikolay Mihaylov almost 8 years
    Perhaps some explanation to your answer would be helpful for OP and future visitors of this page?