01、简介
1、需要用到 QWidget类中的如下属性
palette:QPalette
访问函数:const QPalette &palette() const; void setPalette(const QPalette&);
该属性描述了部件的调色板。在渲染标准部件时,窗口部件的样式会使用调色板,而且不同的平台或不同的样式通常具有不同的调色板。
该属性的默认值取决于系统环境,QApplication 维护着一个系统/主题调色板,它是所有部件的默认调色板。
注意:不要把此属性与 Qt 样式表联合使用。
2、Qt 的所有部件都含有一个调色板,并且使用各自的调色板来绘制自身。
3、QWidget 会把调色板角色从父级传播到子级,除非启用了 Qt::WA_WindowPropagation 属性(使用 QWidget::setAttribute()函数设置) ,否则默认情况下调色板不会传播到窗口。
4、因某些样式依赖于第三方 API(比如 Mac 样式、windows vista 样式等),而这些样式并不一定遵循调色板,因此不能保证部件的调色板分配角色会改变部件的外观。此时可使用样式
表(见后文)
5、另外还可以使用 QApplication::setPalette();静态函数设置整个应用程序的默认调色板。
6、调色板设置的内容通常比较多,因此更改调色板时,通常是使用函数 QWidget::palette()
或静态函数 QApplication()::palette()获取调色板,然后再对其需要修改的部分进行修改,最后使用相应的 setPalette()函数设置修改后的调色板。
7、QPalette类(调色板)包含了每个部件状态的颜色组,调色板由 3 个颜色组组成
标签:palette,Qt,样式,部件,调色板,QPalette,调色 From: https://blog.csdn.net/m0_45463480/article/details/139783052