2012-10-29 26 views
0

對於matplotlib用途,我需要系統用於窗口背景的默認顏色。在Ubuntu中,例如,它是一個非常淺的灰色,比窗口XP更輕。如何獲取系統主題的調色板?

我正在改變默認的matplotlib補丁的顏色爲這個灰色,使它們看起來很原生。但是,我不想對其進行硬編碼。有沒有辦法從PyQt中獲取原生背景顏色?

回答

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,定義爲「一般背景顏色」。