Qt-自定义控件设置样式无用


对于自定义控件,有时候会发现调用setStyleSheet,但是没有出现效果,这里有2种方式可以解决:

1、自定义控件代码里调用,另外不要忘记在类内添加Q_OBJECT

1 setAttribute(Qt::WA_StyledBackground, true);

2、自定义控件重载实现paintEvent函数

1 void MyWidget::paintEvent(QPaintEvent*) {
2     QStyleOption opt;
3     opt.init(this);
4     QPainter p(this);
5     style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
6 }