首页 > 代码库 > QWidget窗体中使用Q_OBJECT后无法添加背景图片或背景色

QWidget窗体中使用Q_OBJECT后无法添加背景图片或背景色

在继承自QWiget的窗体中,设置背景图片或背景色比较简单的方法是使用setStyleSheet()函数,比如在构造函数中可以这样来设置背景图片:

this->setStyleSheet("border-image: url(:/background.jpg)");

  

但是如果窗体类中使用了Q_OBJECT,则这种方法没有效果,解决办法是使用setAttribute()函数,如下:

this->setAttribute(Qt::WA_StyledBackground);this->setStyleSheet("border-image: url(:/background.jpg)");

这种方法同样适用于背景色无法设置的问题。