一些帖子(即这两个:Set CSS in QPushButton's subclass's constructorDoes the use of styleSheets in a dynamic manner add a lot of computation)建议我应该为Qt应用程序使用单个qss文件。

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

最佳答案

常见答案:这取决于...

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

第一个原因,为什么拆分会更好:您的qss更具可读性,并且我将更容易提供支持。

第二:较小的qss文件(应用于不同的小部件)工作更快。

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

P.P.S.不要将样式表用于动画。有一个 QPropertyAnimation 类。您可以使用它为小部件上的颜色,字体等设置动画。

关于c++ - 我应该为我的应用程序真正使用单个qss文件,而不是为每个(UI)类使用一个qss文件吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32995863/

10-11 19:10