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

标签 c++ qt

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

这是解决这种错误行为的某种方法吗?

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

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

最佳答案

即使 setFont 上的文档说

Note: If Qt Style Sheets are used on the same widget as setFont(), style sheets will take precedence if the settings conflict.

这在这种情况下不应该起作用,setFont 函数中的内部 qt docu 说

### Stylesheet has a different font propagation mechanism. When a stylesheet is applied, fonts are not propagated anymore

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

关于c++ - setStyleSheet 固定字体,不再更新字体传播,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9308715/

相关文章:

c++ - 我什么时候可以使用前向声明?

c++ - Qt 静态构建在虚拟机(win7 32 位)上需要很长时间

c++ - QT Subdir-未定义对 main 的引用-错误

c++ - 使用散列查找数组中一个重复的数字和一个缺失的数字

c++ - 静态库链接两次

c++ - 优化此代码块

c++ - 无法链接到qt中的boost文件系统

c++ - Qt/C++ Multimedia Player Video Clips,多个视频小部件

c++ - 如何在触发 QObject::connect 的代码中查明调用的位置:无法在 Qt5 中对类型的参数进行排队?

c++ - 如何从宏中为 Stata 中的变量添加标签