Qt中继承QWidget之后,样式表不起作用

文章目录[隐藏]

解决方法

方法一:设置属性 this->setAttribute(Qt::WA_StyledBackground, true);

方法二:改成继承 QFrame,因为 QFrame 自带 paintEvent 函数已做了实现,在使用样式表时会进行解析和绘制。

方法三:重新实现 QWidget 的 paintEvent 函数时,使用 QStylePainter 绘制。
void myclass::paintEvent(QPaintEvent *)
{
    QStyleOption o;
    o.initFrom(this);
    QPainter p(this);
    style()->drawPrimitive(QStyle::PE_Widget, &o, &p, this);
}
posted @ 2020-03-11 11:40  不随。  阅读(60)  评论(0编辑  收藏  举报  来源