【问题标题】:Enable Visual styles on windows and buttons for wxpython在 wxpython 的窗口和按钮上启用视觉样式
【发布时间】:2014-07-17 16:24:31
【问题描述】:

在 Windows 7 中,我可以设置一个名为“在窗口和按钮上使用视觉样式”的设置,但是其中的更改不会反映在 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 经典主题相关的样式呈现。

视觉风格

视觉风格关闭

【问题讨论】:

    标签: user-interface user-controls wxpython wxwidgets


    【解决方案1】:

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

    【讨论】:

    • 看来 wxpython 正在遵循您所说的原生风格。当视觉样式打开时,每个小部件都会忽略用户设置的个性化颜色,并使用一种已知看起来不错的恒定颜色,而不管用户选择如何。
    猜你喜欢
    • 2011-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-11-10
    • 2012-09-26
    • 2016-10-30
    • 1970-01-01
    • 2015-07-26
    相关资源
    最近更新 更多