- class QPalette#
QPalette类包含每个小部件状态的颜色组。 更多信息…摘要#
方法#
def
__init__()def
accent()def
alternateBase()def
base()def
brightText()def
brush()def
button()def
buttonText()def
cacheKey()def
color()定义
dark()定义
highlight()定义
isBrushSet()定义
isCopyOf()定义
isEqual()定义
light()定义
link()定义
mid()定义
midlight()定义
__ne__()定义
__eq__()定义
resolve()定义
setBrush()定义
setColor()定义
shadow()定义
swap()定义
text()def toolTipText()def window()def windowText()
注意:
本文档可能包含自动从C++转换为Python的代码片段。我们始终欢迎对代码片段翻译的贡献。如果您发现翻译中的问题,也可以通过在https:/bugreports.qt.io/projects/PYSIDE上创建工单来通知我们。
详细描述#
调色板由三个颜色组组成:活动(Active)、禁用(Disabled)和非活动(Inactive)。Qt中的所有小部件都包含调色板,并使用它们的调色板来自绘自身。这使得用户界面易于配置且易于保持一致性。
如果您创建了一个新的小部件,我们强烈建议您使用调色板中的颜色,而不是硬编码特定的颜色。
颜色组:
活动组用于获得键盘焦点的窗口。
非活动组用于其他窗口。
禁用组用于因某些原因而禁用的小部件(不是窗口)。
活动和非活动窗口都可以包含禁用的小部件(禁用小部件通常被称为不可访问的或灰色)。
在大多数样式中,活动和非活动看起来相同。
可以使用
setColor()和setBrush()在调色板颜色组中的特定角色设置颜色和画刷。颜色组包含小部件用于绘制自身的一组颜色。我们建议小部件使用调色板中的颜色组角色,如“前景”和“基本”,而不是使用像“红色”或“青蓝色”这样的文字颜色。颜色角色在ColorRole文档中枚举和定义。我们强烈建议您使用当前样式(由QGuiApplication::palette()返回)的默认调色板,并根据需要对其进行修改。这是Qt小部件在被绘制时执行的。
要修改颜色组,您可以根据是否要纯色或位图图案来确定调用函数
setColor()和setBrush()。此外,还存在相应的
color()和brush()获取器,以及一个常用的便捷函数来获取当前ColorGroup的ColorRole:window(),windowText(),base()等。可以使用拷贝构造函数来复制调色板,并用
isCopyOf()方法来测试两个调色板是否为 完全相同。QPalette通过隐式共享进行了优化,因此将QPalette对象作为参数传递是非常高效的。- class ColorGroup#
常量
描述
QPalette.Disabled
QPalette.Active
QPalette.Inactive
QPalette.Normal
Active 的同义词
- class ColorRole#
警告
本节包含自动从 C++ 翻译到 Python 的代码片段,可能包含错误。
ColorRole 枚举定义了在当前 GUI 中使用的不同符号颜色角色。
中心角色包括
常量
描述
QPalette.Window
通用背景颜色。
QPalette.WindowText
通用前景颜色。
QPalette.Base
主要用于文本输入小部件的背景颜色,但也可以用于其他绘图 - 如组合框下拉列表和工具栏手柄的背景。通常为白色或其他浅色。
QPalette.AlternateBase
用于交替行的视图中的备用背景颜色(请参阅 QAbstractItemView::setAlternatingRowColors())。
QPalette.ToolTipBase
用于 QToolTip 和 QWhatsThis 的背景颜色。工具提示使用
QPalette的非活动颜色组,因为工具提示不是活动窗口。QPalette.ToolTipText
用于 QToolTip 和 QWhatsThis 的前景颜色。工具提示使用
QPalette的非活动颜色组,因为工具提示不是活动窗口。QPalette.PlaceholderText
用于各种文本输入小部件的占位符颜色。此枚举值从 Qt 5.12 中引入
QPalette.Text
与
Base一起使用的文字前景色。这通常与WindowText相同,在这种情况下,它必须与Window和Base保持良好的对比。QPalette.Button
按钮的通用背景色。这种背景色可以不同于
Window,因为某些样式要求按钮有不同的背景色。QPalette.ButtonText
与按钮颜色一起使用的文字前景色。
QPalette.BrightText
一种与
WindowText颜色非常不同,并且与例如Dark有良好的对比度。通常用于需要与Text或WindowText有较差对比度的文字绘制位置,例如按下的按钮。注意,文本颜色可以用于除了文字以外的其他事物;文本颜色通常用于文字,但使用文本颜色角色用于线条、图标等是很常见的。有一些颜色角色主要用于3D凹凸和阴影效果。所有这些通常都源自
Window,并且在依赖于这种关系的某些方式中使用。例如,按钮依赖于它使凹凸有吸引力,Motif滚动条依赖于Mid使其稍微不同于Window。常量
描述
QPalette.Light
比
Button颜色更亮。QPalette.Midlight
位于
Button和Light之间。QPalette.Dark
比
Button更暗。QPalette.Mid
位于
Button和Dark之间。QPalette.Shadow
一种非常深的颜色。默认情况下,阴影颜色为 Qt::black。
已选择(标记)的项目有两个角色
常量
描述
QPalette.Highlight
用于指示已选择项目或当前项的颜色。默认情况下,高亮颜色为 Qt::darkBlue。
QPalette.Accent
一个颜色,通常与 Base、Window 和 Button 颜色形成对比或补充。它通常代表用户的桌面个性化选择。交互式组件的样式是一个典型用例。除非明确设置,否则默认为 Highlight。
QPalette.HighlightedText
与
Highlight对比度的文本颜色。默认情况下,高亮文本颜色为 Qt::white。有两个与超链接相关的颜色角色
常量
描述
QPalette.Link
用于未访问过的超链接的文本颜色。默认情况下,链接颜色为 Qt::blue。
QPalette.LinkVisited
用于已访问过的超链接的文本颜色。默认情况下,已访问链接颜色为 Qt::magenta。
请注意,我们在 Qt 中渲染丰富文本时不使用
Link和LinkVisited角色时,并且我们建议您使用 CSS 和setDefaultStyleSheet()函数更改链接的外观。例如browser = QTextBrowser() linkColor = QColor(Qt.red) QString sheet = "a { text-decoration: underline; color: %1 }".arg(linkColor.name()) browser.document().setDefaultStyleSheet(sheet)
常量
描述
QPalette.NoRole
无角色;此特殊角色经常用于表示未分配角色。
- __init__(button)#
- 参数:
button –
GlobalColor
从
button颜色构建调色板。其他颜色会自动根据这个颜色计算,而Window将与按钮颜色相同。- __init__()
构建了一个空的调色板对象,其中没有设置颜色作用域。
当用作 QWidget 的调色板时,颜色解析方式如 QWidget::setPalette() 所描述。
请参阅
palette()- __init__(palette)
- 参数:
palette –
QPalette
构建了
p的副本。这个构造函数由于隐式共享而快速。
- __init__(windowText, window, light, dark, mid, text, base)
构建一个具有指定
windowText、window、light、dark、mid、text和base颜色的调色板。按钮颜色将被设置为窗口颜色。- __init__(button)
- 参数:
button –
QColor
从
button颜色构建调色板。其他颜色会自动根据这个颜色计算,而Window将与按钮颜色相同。- __init__(windowText, button, light, dark, mid, text, bright_text, base, window)
构造调色板。可以为
windowText、button、light、dark、mid、text、bright_text、base和window传递画刷、位图或纯颜色。请参阅
从按钮颜色和窗口颜色构建调色板。其他颜色将根据这些颜色自动计算。
返回当前颜色组的突出显示画刷。
返回当前颜色组的备用基础画刷。
返回当前颜色组的底色画笔。
返回当前颜色组的明亮文本前景画笔。
- brush(cg, cr)#
- 参数:
cg –
ColorGroupcr –
ColorRole
- 返回类型:
返回指定颜色组的给定颜色
角色的画笔。这是一个重载函数。
返回在当前
ColorGroup中为给定颜色角色设置的画笔。返回当前颜色组的按钮画笔。
返回当前颜色组的按钮文本前景画笔。
- cacheKey()#
- 返回类型:
int
返回一个数字,用于标识此
QPalette对象的內容。如果不同的QPalette引用相同的内容,则它们可以具有相同的键。当配乐被更改时,cacheKey()将会改变。
- color(cg, cr)#
- 参数:
cg –
ColorGroupcr –
ColorRole
- 返回类型:
返回指定颜色组的给定颜色
角色的颜色。这是一个重载函数。
返回当前
ColorGroup中给定role的颜色。- currentColorGroup()#
- 返回类型:
返回当前调色的板颜色组。
返回当前颜色组的深色画笔。
返回当前颜色组的突出显示画笔。
返回当前颜色组的突出显示文本画笔。
- isBrushSet(cg, cr)#
- 参数:
cg –
ColorGroupcr –
ColorRole
- 返回类型:
bool
如果指定
ColorGroup和ColorRole在这个调色板上已经被设置,返回true;否则返回false。ColorGroup应当小于NColorGroups,但你可以使用Current。在这种情况下,将使用先前设置的当前颜色组。ColorRole应当小于NColorRoles。如果此调色板和 p 是彼此的副本,则返回
true,即其中一个被创建为另一个的副本,并且后续都没有被修改;否则返回false。这比相等性更严格。请参阅
operator=()operator==()- isEqual(cr1, cr2)#
- 参数:
cr1 –
ColorGroupcr2 –
ColorGroup
- 返回类型:
bool
如果颜色组 cg1 等于 cg2,则快速返回
true;否则返回false。返回当前颜色组的浅色画刷。
返回当前颜色组的未访问链接文本画刷。
返回当前颜色组的已访问链接文本画刷。
返回当前颜色组的中间画刷。
返回当前颜色组的中间亮色画刷。
如果此调色板与 p 不同,则缓慢返回
true;否则返回false(通常快速返回)。如果此调色板等于
p,则返回true(通常迅速);否则返回false(缓慢)。返回当前颜色组的占位文本画笔。
返回一个新的
QPalette,它是当前实例和other的并集。实例中设置的颜色角色优先。- resolveMask()#
- 返回类型:
int
- setBrush(cg, cr, brush)#
- 参数:
cg –
ColorGroupcr –
ColorRolebrush –
QBrush
这是一个重载函数。
将指定颜色
group中用于给定颜色role的画笔设置为brush。将给定颜色
role的画笔设置为指定的brush,适用于调色板中所有组。- setColor(cg, cr, color)#
- 参数:
cg –
ColorGroupcr –
ColorRole颜色 –
QColor
设置指定颜色组的
role中使用的颜色为指定的实心color。这是一个重载函数。
将指定颜色组的
color设置为指定实心颜色。- setColorGroup(cr, windowText, button, light, dark, mid, text, bright_text, base, window)#
设置指定颜色的组。对于参数
windowText、button、light、dark、mid、text、bright_text、base和window,你可以传递画笔、位图或纯色。请参阅
- setCurrentColorGroup(cg)#
- 参数:
cg –
ColorGroup
将当前外观的组设置为
cg。- setResolveMask(mask)#
- 参数:
mask – int
返回当前颜色组的阴影画笔。
交换此调色板实例与
其他。此函数运行非常快且永远不会失败。返回当前颜色组的文本前景画刷。
返回当前颜色组的工具提示基础画刷。此画刷用于QToolTip和QWhatsThis。
返回当前颜色组的工具提示文本画刷。此画刷用于QToolTip和QWhatsThis。
返回当前颜色组的窗口(一般背景)画刷。
返回当前颜色组的窗口文本(一般前景)画刷。