2012-02-29 12 views
0

如果我一個wxPython的面板,顏色的變化上運行寬x控制使用不同的背景顏色比他們指定

panel.SetBackgroundColour(panel.GetBackgroundColour()) 

! 這裏發生了什麼?我如何獲得真正使用的顏色?

+0

什麼操作系統和wx版本?我無法在Windows 7上覆制它,wx 2.9.3.1,Python 2.6.6。 – 2012-02-29 15:09:36

+0

謝謝你的努力!在python 2.7.2下使用Fedora和wx 2.8.12.0(gtk2-unicode) – 2012-02-29 15:24:53

回答

4

如果您當前的GTK主題使用背景紋理,那麼它可能會定義背景顏色的近似匹配,這是您從GetBackgroundColour獲得的。通過將其傳遞給setter,您告訴窗口使用該顏色而不是紋理。

另一種可能性是,如果主題在某些上下文中更改默認顏色,例如面板是筆記本中的頁面時Windows將執行的操作。通過將顏色設置爲其他內容(即使它是默認設置),則您將覆蓋主題,並且不會對窗口顏色執行任何操作。

+0

筆記本!我在筆記本上用_were_測試過的控件可能是答案。雖然使用Fedora雖然,所以它可能不是一回事:) – 2012-02-29 17:41:17

+0

那麼...現在在普通面板上發現相同的行爲。沒有漸變或幻想透視效果啓用:( – 2012-03-01 10:02:56