Python wx控件使用不同于其指定的背景色

Python wx控件使用不同于其指定的背景色,python,wxpython,Python,Wxpython,如果我跑 panel.SetBackgroundColour(panel.GetBackgroundColour()) 在wxPython面板上,颜色会发生变化! 这里发生了什么事?如何获得所使用的真实颜色?如果当前GTK主题使用纹理作为背景,那么它可能会定义与背景颜色的近似匹配,这是您从GetBackgroundColor获得的。通过将其传递给setter,您告诉窗口使用该颜色而不是纹理 另一种可能性是,如果主题在某些上下文中改变了默认颜色,例如,如果面板是笔记本中的一页,Windows会做

如果我跑

panel.SetBackgroundColour(panel.GetBackgroundColour())
在wxPython面板上,颜色会发生变化!
这里发生了什么事?如何获得所使用的真实颜色?

如果当前GTK主题使用纹理作为背景,那么它可能会定义与背景颜色的近似匹配,这是您从GetBackgroundColor获得的。通过将其传递给setter,您告诉窗口使用该颜色而不是纹理


另一种可能性是,如果主题在某些上下文中改变了默认颜色,例如,如果面板是笔记本中的一页,Windows会做什么。通过将颜色设置为其他颜色(即使是默认颜色),您将覆盖主题,而它不会对windows颜色执行任何操作。

如果当前GTK主题使用纹理作为背景,则它可能会定义与背景颜色的近似匹配,这是您从GetBackgroundColor获得的。通过将其传递给setter,您告诉窗口使用该颜色而不是纹理


另一种可能性是,如果主题在某些上下文中改变了默认颜色,例如,如果面板是笔记本中的一页,Windows会做什么。通过将颜色设置为其他颜色(即使是默认颜色),您将覆盖主题,而它不会对windows颜色执行任何操作。

什么操作系统和wx版本?我无法在Windows 7、wx 2.9.3.1和Python 2.6.6上复制此功能。感谢您的尝试!在Python2.7.2下使用Fedora和WX2.8.12.0(gtk2 unicode)的操作系统和wx版本是什么?我无法在Windows 7、wx 2.9.3.1和Python 2.6.6上复制此功能。感谢您的尝试!在Python2.7.2笔记本下使用Fedora和WX2.8.12.0(gtk2 unicode)!我测试的控制装置放在笔记本上,所以这可能就是答案。使用软呢帽,所以可能不是同一件事:)好吧。。。现在在普通面板上发现了相同的行为。没有启用渐变或奇特的透视效果:(笔记本!我测试的控件放在笔记本上,所以这可能是答案。不过使用Fedora,所以可能不是同一件事:)好吧。。。现在在普通面板上发现了相同的行为。未启用渐变或奇特的透明效果:(