对于matplotlib目的,我需要系统用于窗口背景的默认颜色。在Ubuntu中,例如,它是一个非常浅灰色,比窗口XP更轻。
我正在将默认matplotlib色块的颜色更改为此灰色,以使它们看起来像原生。但是,我不想硬编码。有没有办法从PyQt中获取本机背景颜色?
答案 0 :(得分:1)
Qt在QPalette
中定义了一堆系统颜色。要在PySide中获得某种颜色,请调用
QColor(QPalette().color(state, role))
其中state
代表颜色的状态(即QPalette.Disabled
,QPalette.Active
,QPalette.Inactive
,QPalette.Normal
)和role
代表符号颜色待定。可以在http://qt-project.org/doc/qt-4.8/qpalette.html#ColorRole-enum找到完整的颜色角色列表。
您可能正在寻找的颜色角色是QPalette.Window
,定义为“一般背景颜色。”