一般Qt中使用自定义样式时,编写一个QSS文件,然后根据控件类、选择器等改变界面样式即可,但有些界面组件通过qss文件自定义样式时却不太如人意,如QMdiSubWindow的标题栏样式,如果通过qss文件去修改是这个样子
QMdiSubWindow:title{
background: lightgray;
}
这时候就可以通过继承QProxyStyle编写更高级的自定义样式。
通过QProxyStyle自定义样式主要有几个函数需要覆写:
- virtual void drawComplexControl(...) 绘制复杂元素。
- virtual void drawControl(...) 绘制控件元素。
- virtual void drawPrimitive(...) 绘制主元素。
- ...
- virtual