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)");
这种方法同样适用于背景色无法设置的问题。