Qt解决继承QWidget后设置样式(QSS)无效的办法
方法一
设置属性 this->setAttribute(Qt::WA_StyledBackground);
方法二
改成继承 QFrame,因为 QFrame 自带 paintEvent 函数已做了实现,在使用样式表时会进行解析和绘制。
方法三
重新实现 QWidget 的 paintEvent 函数时,使用 QStylePainter 绘制
void ClassName::paintEvent(QPaintEvent *)
{
QStyleOption opt;
opt.init(this);
QPainter p(this);
style()->drawPrimitive(QStyle::PE_Widget, &opt, &p, this);
}
QSS使用
//MyClass: 继承QWidget后的类名
//ObjectName: 实际使用的ObjectName
MyClass#ObjectName
{
}
本文标题:Qt解决继承QWidget后设置样式(QSS)无效的办法
本文链接:https://www.haomeiwen.com/subject/ufurzktx.html
网友评论