自学QT之图片报错Paint device returned engine == 0, type: 1

这个错误产生的原因其实很简单,就是因为你尝试去画一个图,但是没有在paintevent里面去做。

所以只要把代码放到paintevent函数里面就好啦。

paintevent函数是一个可以重载的函数哦。

报错:

QWidget::paintEngine: Should no longer be called

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

Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    
    
    
    
}
void Widget::paintEvent(QPaintEvent *even)
{
    QPixmap pix(":/new/prefix1/201409091359143092.jpg");
    QPainter painter(this);
    painter.drawPixmap(0,0,pix);
    QPixmap pix2=pix.scaled(QSize(50,50));
    pix.fill(Qt::white);   
    painter.drawPixmap(0,0,pix2);
}

这样就好了。

你可能感兴趣的:(自学QT之图片报错Paint device returned engine == 0, type: 1)