0

出于 matplotlib 的目的,我需要系统用于窗口背景的默认颜色。例如,在 Ubuntu 中,它是一种非常浅的灰色,比 Windows XP 的稍微浅一些。

我正在将默认 matplotlib 补丁的颜色更改为这种灰色,以使它们看起来是原生的。但是,我不想对其进行硬编码。有没有办法从 PyQt 中获取本机背景颜色?

4

1 回答 1

1

Qt 在QPalette. 要在 PySide 中获取某种颜色,请调用

QColor(QPalette().color(state, role))

其中state表示颜色的状态(即QPalette.DisabledQPalette.ActiveQPalette.InactiveQPalette.Normal)并role表示要确定的符号颜色。可以在http://qt-project.org/doc/qt-4.8/qpalette.html#ColorRole-enum找到完整的颜色角色列表。

您可能正在寻找的颜色角色是QPalette.Window,定义为“一般背景颜色”。

于 2012-10-30T00:39:37.200 回答