Qt的Qss样式表无效
class Fig : public QWidget
{
Q_OBJECT//这个还是要写,不写信号槽就没用了
…
}
继承自QWidget的控件,后来在其他的类中调用了。
我在这个类的构造函数中设置了Qss样式表的不继承写法
this->setObjectName(“FigWidget”);
this->setStyleSheet(“QWidget#FigWidget{background-color:rgb(0, 0, 255)}”);
并没有变成纯蓝色的背景图
在我的Fig类中重写虚函数:
protected:
void paintEvent(QPaintEvent *e);
.cpp内容:
void Fig::paintEvent(QPaintEvent *e)
{
QStyleOption opt;
opt.init(this);
QPainter p(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
QWidget::paintEvent(e);
}
再运行上面的Qss就有用了。纯蓝色的背景,后期慢慢改成自己喜欢的颜色吧。
感谢https://blog.csdn.net/qq_42351063/article/details/116902616
亲测有效。