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 个颜色组组成

点赞(0) 打赏

评论列表 共有 0 条评论

暂无评论

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部