如果我跑
panel.SetBackgroundColour(panel.GetBackgroundColour())
在wxPython面板上,颜色会发生变化! 这里发生了什么事?我如何获得真正的颜色?
答案 0 :(得分:4)
如果您当前的GTK主题使用纹理作为背景,那么它可能会定义背景颜色的近似匹配,这是您从GetBackgroundColour获得的颜色。通过将其传递给制定者,您告诉窗口使用该颜色而不是纹理。
另一种可能性是主题是否会在某些上下文中更改默认颜色,例如,如果面板是笔记本中的页面,Windows将执行的操作。通过将颜色设置为其他颜色(即使它是默认颜色),那么您将覆盖主题,它将不会对窗口颜色执行任何操作。