在Windows和按钮上启用wxpython的视觉样式

时间:2014-07-17 16:24:32

标签: user-interface user-controls wxpython wxwidgets

在Windows 7中有一个我可以设置的设置叫做#34;在窗口和按钮上使用视觉样式"但是那里的变化并没有反映在wxPython上。

我正在尝试编写一个看起来尽可能原生的对话框。

如果我在Windows 7中打开一个对话框,即"运行"启用视觉样式时的对话框,对话框的背景为白色,并且有一个分隔符。当视觉样式关闭时,整个对话框都是灰色的。

这些都不会反映在wxpython中,无论视觉样式是启用还是禁用,wxpython都会生成灰色背景的对话框。

注意:对于wx.Panel也是如此,无论视觉样式如何对其进行子类化都默认使用灰色背景(除非用户更改默认值)

有没有办法为wxpython应用程序启用视觉样式? 似乎wx.Lua具有此功能:http://sourceforge.net/p/wxlua/svn/195/

wxWidgets库也支持它:WxWidgets visual style 这可能是wxpython构建中的错误/缺失功能,取自:wxPython

Visual styles http://msdn.microsoft.com/en-gb/library/windows/desktop/bb773187(v=vs.85).aspx

  

Windows XP及更高版本的操作系统支持称为视觉样式的功能,该功能使常见控件的外观能够根据用户选择的主题进行更改。在Windows 8之前,您必须专门配置应用程序以使用视觉样式;否则,应用程序的常用控件始终以与Windows经典主题相关联的样式呈现,而不管当前选择的主题如何。

上的视觉风格

Visual style in enabled

视觉风格关闭

Visual style is not enabled

1 个答案:

答案 0 :(得分:2)

wxPython默认使用本机,因为它使用本机小部件。 wx.lib中有一些自定义小部件,可能看起来也可能不看起来像本机。我猜你是wx.Dialog的子类。这可能是子类wx.Dialog的正常/本机行为。如果你想要更通用的东西,那么你应该使用wx.MessageDialog。