Qt中为QWidget设置背景图片的方法

来源:互联网 发布:行知外国语学校 宝山 编辑:程序博客网 时间:2024/05/18 03:45

有时候我们为QWidget设置背景图片时,在Qt designer中设置背景图片,可以看到自己设置的背景图片,但是一运行就不显示,下面有两种方法可以解决这个问题

为QWidget添加背景图的方法

第一种:

QImage image1;
QPalette palette; 
  image1.load("./back.png");
    //QImage image2 = image1.scaled(1024,768);
    palette.setBrush(this->backgroundRole(),QBrush(image1));
    this->setPalette(palette);照着搞 就ok!在构造函数中加上就行了 

第二种:

要想QWidget可以显示背景图片,需要重新实现paintEvent()函数:
void Widget::paintEvent(QPaintEvent *)
{
    QStyleOption opt;
    opt.init(this);
    QPainter p(this);
    style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
} 

原创粉丝点击