如何在 PyQt5 中获取 QFrame 的背景颜色?
How to get backgroud color of QtFrame in PyQt5?
我知道怎么设置:
color_frame.setStyleSheet("QWidget { background-color: blue}")
但是我如何读取 QtFrame 背景的颜色值(可能是十六进制,我不在乎)?
请注意,我不是在寻找:
color_frame.palette().highlight().color().name()
因为它似乎没有给我 QtFrame 背景颜色的值。
highlight()
不会给你背景,因为 Highlight
角色用于选择。
默认情况下,widgets使用Window
角色(除非通过setBackgroundRole()
) to draw the background, so you need to use the related window()
函数指定获取:
color_frame.palette().window().color().name()
或者仅使用 color()
并将相关角色作为参数:
color_frame.palette().color(QPalette.Window).name()
稍微确定一点,用当前后台角色:
color_frame.palette().color(color_frame.backgroundRole()).name()
注意:
- 在某些情况下,样式可能会以略有不同的方式使用调色板设置的颜色(包括样式表中设置的颜色),并且绘图可能与预期的不同;请记住,调色板颜色仅用作参考,由样式“决定”对此有多严格;
- 如果使用通用(o 否)选择器,则为父部件设置全局 属性 通常不是一个好主意:一些复杂的部件需要尽快 单个 属性 已设置,所有其他也必须设置。 QComboBox 和 QScrollBar 尤其如此;您应该使用更具体的 selector (可能使用 class 或对象名称);
- 设置样式表后可从调色板读取的唯一颜色属性是
color
(适用于 WindowText
、Text
和 ButtonText
角色)、background
(Window
, Base
和 Button
), selection-color
(Highlight
), selection-background-color
(HighlightedText
) 和alternate-base
(AlternateBase
);所有其他颜色角色都是根据上述自动计算的;任何其他 属性,特别是为子控件设置的那些,不可用;
我知道怎么设置:
color_frame.setStyleSheet("QWidget { background-color: blue}")
但是我如何读取 QtFrame 背景的颜色值(可能是十六进制,我不在乎)?
请注意,我不是在寻找:
color_frame.palette().highlight().color().name()
因为它似乎没有给我 QtFrame 背景颜色的值。
highlight()
不会给你背景,因为 Highlight
角色用于选择。
默认情况下,widgets使用Window
角色(除非通过setBackgroundRole()
) to draw the background, so you need to use the related window()
函数指定获取:
color_frame.palette().window().color().name()
或者仅使用 color()
并将相关角色作为参数:
color_frame.palette().color(QPalette.Window).name()
稍微确定一点,用当前后台角色:
color_frame.palette().color(color_frame.backgroundRole()).name()
注意:
- 在某些情况下,样式可能会以略有不同的方式使用调色板设置的颜色(包括样式表中设置的颜色),并且绘图可能与预期的不同;请记住,调色板颜色仅用作参考,由样式“决定”对此有多严格;
- 如果使用通用(o 否)选择器,则为父部件设置全局 属性 通常不是一个好主意:一些复杂的部件需要尽快 单个 属性 已设置,所有其他也必须设置。 QComboBox 和 QScrollBar 尤其如此;您应该使用更具体的 selector (可能使用 class 或对象名称);
- 设置样式表后可从调色板读取的唯一颜色属性是
color
(适用于WindowText
、Text
和ButtonText
角色)、background
(Window
,Base
和Button
),selection-color
(Highlight
),selection-background-color
(HighlightedText
) 和alternate-base
(AlternateBase
);所有其他颜色角色都是根据上述自动计算的;任何其他 属性,特别是为子控件设置的那些,不可用;