QStyle Palette 调色板(六)

每种样式均提供一种颜色(即QBrush)调色板,该调色板应用于绘制小部件。

对于不同的窗口小部件状态(QPalette :: ColorGroup),有一组颜色:活动(具有键盘焦点的窗口中的小部件),非活动(用于其他窗口的小部件)和禁用(被设置为禁用的小部件)。

可以通过查询State_Active和State_Enabled状态标志来找到状态。每个集合包含由QPalette :: ColorRole枚举赋予的某些角色的颜色。

角色描述了在哪种情况下应使用颜色(例如,绘制小部件背景,文本或按钮)。

如何使用颜色角色取决于样式。

例如,如果样式使用渐变,则可以使用调色板颜色,并使用QColor :: darker()和QColor :: lighter()将其变暗或变亮以创建渐变。

通常,如果您需要调色板未提供的画笔,则应尝试从中获得画笔。

提供调色板的QPalette可以存储不同小部件状态和颜色角色的颜色。样式的调色板由standardPalette()返回。

当在应用程序(QApplication :: setStyle())或小部件(QWidget :: setStyle())上设置了新样式时,标准调色板不会自动安装,

因此您必须使用(QApplication :: setPalette() )或(QWidget :: setPalette())。

不建议对颜色进行硬编码,因为应用程序和单个小部件可以设置自己的调色板,也可以使用样式调色板进行绘制。

请注意,Qt的小部件均未设置自己的调色板。

posted @ 2020-11-03 22:03  流浪侠客  阅读(332)  评论(0编辑  收藏  举报