【Qt】样式和代码分离

大柏怎么被偷了 2024-10-13 12:05:01 阅读 74

样式和代码分离

在 QSS 上述代码中,样式代码和C++代码都是混在一起的。

这里如果QSS样式代码比较简单其实还好,但是如果QSS代码非常复杂,这样就会导致维护成本变大。所以可以将样式代码单独拎出来,放到单独的文件中去,后续可以直接让C++代码读取并加载文件。

例子:从文件中加载全局样式

(1)设置一个按钮

(2)创建qrc文件,通过qrc管理样式文件

(3)创建单独的QSS文件,将这样的文件放到qrc中。

(4)编写C++代码,读取QSS文件中的内容,并设置样式

上述方案仅供大家参考,实际开发中还有更方便的方案。

例子:使⽤ Qt Designer 编辑样式 

在Qt Designer中直接集成这样的功能,允许将样式直接加载到.ui文件中。

(1)设置一个按钮

(2)右键点击样式

通过改变样式表,可以编写界面的样式,这里进行的修改都会记录到.ui文件中,并且在程序运行时自动生效,同时还支持预览。

(3)编写样式表

这里记录了当前编辑的样式,后续Qt会根据ui文件生成C++代码,也就会同时把样式设置过去。

由于设置样式太过于灵活,有很多地方都能设置,就会导致当某个控件样式不符合预期的时候,排除起来就比较麻烦了。

这里需要排查:

全局样式(QApplication设置的)指定控件的样式(这个控件是否设置了样式)指定控件的父控件的样式(可能是从父控件继承过来的)qss文件中的样式ui文件中的样式

在实际开发中,如果需要设置样式,建议最好统一使用某一种方式来设置。



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。