美文网首页
Qt解决继承QWidget后设置样式(QSS)无效的办法

Qt解决继承QWidget后设置样式(QSS)无效的办法

作者: BrokenRainK | 来源:发表于2021-01-21 10:41 被阅读0次

方法一

设置属性  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