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

  • Post author:
  • Post category:其他




这个错误产生的原因其实很简单,就是因为你尝试去画一个图,但是没有在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);
}

这样就好了。



版权声明:本文为xuancailinggan原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。