【Qt】样式和代码分离

样式和代码分离

在 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文件中的样式

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

评论 11
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值