- 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 –
ColorGroup
cr –
ColorRole
- 返回类型:
返回指定颜色组的给定颜色
角色
的画笔。这是一个重载函数。
返回在当前
ColorGroup
中为给定颜色角色
设置的画笔。返回当前颜色组的按钮画笔。
返回当前颜色组的按钮文本前景画笔。
- cacheKey()#
- 返回类型:
int
返回一个数字,用于标识此
QPalette
对象的內容。如果不同的QPalette
引用相同的内容,则它们可以具有相同的键。当配乐被更改时,cacheKey()将会改变。
- color(cg, cr)#
- 参数:
cg –
ColorGroup
cr –
ColorRole
- 返回类型:
返回指定颜色组的给定颜色
角色
的颜色。这是一个重载函数。
返回当前
ColorGroup
中给定role
的颜色。- currentColorGroup()#
- 返回类型:
返回当前调色的板颜色组。
返回当前颜色组的深色画笔。
返回当前颜色组的突出显示画笔。
返回当前颜色组的突出显示文本画笔。
- isBrushSet(cg, cr)#
- 参数:
cg –
ColorGroup
cr –
ColorRole
- 返回类型:
bool
如果指定
ColorGroup
和ColorRole
在这个调色板上已经被设置,返回true
;否则返回false
。ColorGroup
应当小于NColorGroups
,但你可以使用Current
。在这种情况下,将使用先前设置的当前颜色组。ColorRole
应当小于NColorRoles
。如果此调色板和 p 是彼此的副本,则返回
true
,即其中一个被创建为另一个的副本,并且后续都没有被修改;否则返回false
。这比相等性更严格。请参阅
operator=()
operator==()
- isEqual(cr1, cr2)#
- 参数:
cr1 –
ColorGroup
cr2 –
ColorGroup
- 返回类型:
bool
如果颜色组 cg1 等于 cg2,则快速返回
true
;否则返回false
。返回当前颜色组的浅色画刷。
返回当前颜色组的未访问链接文本画刷。
返回当前颜色组的已访问链接文本画刷。
返回当前颜色组的中间画刷。
返回当前颜色组的中间亮色画刷。
如果此调色板与 p 不同,则缓慢返回
true
;否则返回false
(通常快速返回)。如果此调色板等于
p
,则返回true
(通常迅速);否则返回false
(缓慢)。返回当前颜色组的占位文本画笔。
返回一个新的
QPalette
,它是当前实例和other
的并集。实例中设置的颜色角色优先。- resolveMask()#
- 返回类型:
int
- setBrush(cg, cr, brush)#
- 参数:
cg –
ColorGroup
cr –
ColorRole
brush –
QBrush
这是一个重载函数。
将指定颜色
group
中用于给定颜色role
的画笔设置为brush
。将给定颜色
role
的画笔设置为指定的brush
,适用于调色板中所有组。- setColor(cg, cr, color)#
- 参数:
cg –
ColorGroup
cr –
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。
返回当前颜色组的窗口(一般背景)画刷。
返回当前颜色组的窗口文本(一般前景)画刷。