【Qt开发】在QLabel已经显示背景图片后绘制图形注意事项

时间:2022-08-23 18:01:55

主要是要解决图形覆盖的问题,通常的办法就是对QLabel进行子类化,并重载函数:

void myLabel::paintEvent(QPaintEvent *event)  

{  

    QLabel::paintEvent(event);//先调用父类的paintEvent为了显示'背景'!!!  

    QPainter painter(this);  

    painter.setPen(QPen(Qt::red,2));  

    painter.drawRect(QRect(x,y,w,h));  

}

这里必须强调的是QLabel::paintEvent(event);//先调用父类的paintEvent为了显示'背景'!!!

必须先调用,否则只能显示图形,背景显示不出来。.........