setStyleSheet固定字体,不再更新字体传播

时间:2012-02-16 09:35:19

标签: c++ qt

如果我在小部件上调用setStyleSheet(在本例中为QToolButton),则不再通过其父级的字体传播更新其字体。也就是说,一旦设置了样式表,在某个父窗口小部件上调用setFont将不再更改此窗口小部件上的字体。

这是解决这种破坏行为的方法吗?

注意:我的样式表没有指定字体属性,因此根据文档它不应该干扰字体。 (例如:":checked { border: 1px inset rgba(128,0,0,128); \nbackground-color: rgba( 200, 200, 0, 128 ); }"

注意:我也合理地确定我正确设置了字体,因为应用程序中的所有其他控件都正确更新,只有那些设置了样式表的控件没有。

1 个答案:

答案 0 :(得分:1)

即使setFont上的文档说

  

注意:如果在与setFont()相同的小部件上使用Qt样式表,则在设置冲突时样式表将优先。

在这种情况下不应该发挥作用,setFont函数中的内部qt文档说

  

###样式表有不同的字体传播机制。当一个样式表           应用后,字体不再传播

所以在一天结束时,我总是首先设置父字体,然后将样式表应用于子项