带有wxPython的Vista / 7全玻璃风格

时间:2009-11-10 20:41:39

标签: wxpython aero-glass

这可能吗?我真的想让我的wxPython程序(因为它们只适用于windows)使用玻璃主题。

另外,如果可能的话,有没有办法让Vista中的对话框看起来像那些没有编码太多自定义内容的新对象?

alt text http://imgkk.com/i/soYWuf.jpg

3 个答案:

答案 0 :(得分:2)

有点晚了,但无论如何我都会回答......

没有内置的方法可以使用wxPython在Windows上的Aero主题中利用玻璃效果。但是,您可以与Win32 API一起破解。您要查找的两个功能是DwmIsCompositionEnabledDwmExtendFrameIntoClientArea。只需使用前者检查Aero是否已启用,然后调用窗口上的GetHandle()方法并将结果传递给后者以获得玻璃效果。

我从未使用过wxPython,所以它可能比那更复杂(你可能需要做更多的互操作),但这应该让你开始。如果您需要有关互操作部分的帮助,请查看Win32 programming in Python

答案 1 :(得分:1)

wxPython基于wxWidgets库,因此它的功能基于wxWidgets的功能。

我没有在wxWidgets网站上看到任何关于“玻璃”界面的内容,但我确实看到它支持纹理,并且可以制作控件/表单semi-transparent。你应该能够毫不费力地模拟玻璃界面。

答案 2 :(得分:0)

wxPython应该复制操作系统的本机小部件支持的任何主题。现在看起来像什么? wxPython演示看起来是否合适?可能没有包含清单...我所知道的是我的wxPython程序在Windows 7上看起来“正确”,除非我使用通用小部件。