QPainter::begin: Paint device returned engine == 0, type: 3 QPainter::end: Painter not active, abort

最近在开发软件的时候一直报这个错,影像中QPainter也是可以在paintEvent外面使用的,为什么会这样呢,于是经过一番调试才发现QImage在创建的时候size大小为0,所以才会报上面的错误,修正后就没错了,特此记录一下

附QT在QImage上绘图的代码

    QImage m_shade;
    m_shade = QImage(100,100, QImage::Format_ARGB32/*_Premultiplied*/);
    QPainter p(&m_shade);
    p.setCompositionMode(QPainter::CompositionMode_DestinationIn);
    p.fillRect(0,0,100,100,QBrush("#ffffff"));
    p.drawText(10,10,u8"你好");
    m_shade.save("C:/aaaa.jpg");

 

你可能感兴趣的:(c++)