为什么设置了qss后,控件的setFont功能就失效了
因为要做一个随控件大小改变 文字也随之适应变化大小的功能,然而计算出新的字体大小后,setFont无效,如果没有设置过qss的话,setFont是有效的,这是何解?qss 可能是在 widget 渲染完成之后加载的,然后刚好覆盖了,研究一下 qss 有哪些东西,可能存在全局属性的,那就要看你如何取舍了 ~ 可以试一下使用setStyleSheet的方式设置字体。 Since 发表于 2018-9-28 18:53
qss 可能是在 widget 渲染完成之后加载的,然后刚好覆盖了,研究一下 qss 有哪些东西,可能存在全局属性的 ...
我还以为是一次性加载完成后,qss表就不会再做任何事了,除非再手动加载一次qss baizy77 发表于 2018-9-28 22:27
可以试一下使用setStyleSheet的方式设置字体。
用的就是setStyleSheet方法,就是因为用了它setFont无效了 baizy77 发表于 2018-9-28 22:27
可以试一下使用setStyleSheet的方式设置字体。
用的就是setStyleSheet方法,就是因为用了它setFont无效了 Rajesh_Jiang 发表于 2018-9-29 09:12
用的就是setStyleSheet方法,就是因为用了它setFont无效了
很抱歉,我没说明白。如果您是用文本对象控件的指针pText调用setFont(),那么是否可以试试pText->setStyleSheet() baizy77 发表于 2018-9-29 09:26
很抱歉,我没说明白。如果您是用文本对象控件的指针pText调用setFont(),那么是否可以试试pText->setStyl ...
是的,我也试过这个方法,但是会造成控件上设置的qss原属性被覆盖丢失。 Rajesh_Jiang 发表于 2018-9-29 09:49
是的,我也试过这个方法,但是会造成控件上设置的qss原属性被覆盖丢失。 ...
那您先str = pText->getStyleSheet(),
str += fontstr;
pText->setStyleSheet(),
这样呢? baizy77 发表于 2018-9-29 10:07
那您先str = pText->getStyleSheet(),
str += fontstr;
pText->setStyleSheet(),
试了下,这样的话没任何变化了:Q。而且这样的话造成一个问题吧,多次变化后,styleSheet会越积越多 楼主,请问这个问题你解决了吗?请问setStyleSheet设置控件的样式,setFont设置字体库,但结果setFont设置的字体库好像和实际字体表现的不太一样,请问这个是为啥呢?
页:
[1]