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

主要是要解决图形覆盖的问题,通常的办法就是对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为了显示'背景'!!!  


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

posted @ 2016-09-06 23:47  ZhangPYi  阅读(251)  评论(0编辑  收藏  举报