我真的应该为我的应用程序使用单个qss文件而不是为每个(UI)类使用一个吗?



一些帖子(即这两个:在QPushButton's子类's构造函数中设置CSS和以动态方式使用样式表是否会增加大量计算)建议我应该为我的Qt应用程序使用单个qss文件。

但是,假设我有一个QLabel子类,它的目的是(使用样式表)提供一个特定的外观/行为(比如BlinkingLabel,不管它看起来多么可怕)。在这种情况下,准备一个单独的样式表并将其加载到类构造函数中不是很有意义吗?使用全局文件不会剥夺为UI组件使用OOP的一个非常有用的方面吗?因为如果我这样做了,我就不能再只是上课然后把它放到另一个项目里而不用担心任何事情,因为它可以自己照顾自己;我必须记住复制相关的样式表条目。

常见答案:这取决于…

从我的角度来看,如果你将你的qss分割成几个文件,并实现一个良好的逻辑来正确加载它们-这将是比单一文件更好的解决方案。作为额外的选择,您仍然可以使用基本样式的全局qss。

第一个原因,为什么拆分更好:你的问题将更容易阅读,它将更容易提供支持。

第二:更小的qss文件,应用在不同的小部件上工作得更快。

注:如果需要在小部件上重新加载qss(如链接中所述),则需要调用polish() + unpolish(),而不是重置qss文本。

P.P.S.不要在动画中使用样式表。有一个QPropertyAnimation类。您可以使用它来动画的颜色,字体等在您的小部件

最新更新