tags:

views:

294

answers:

3

Is this possible? I really want to make my wxPython program (since they only work on windows) use the glass theme.

Also, if it's possible, is there a way to make dialogs that look like those new ones in Vista without coding much custom content?

alt text

+1  A: 

wxPython is based on the wxWidgets library, so its capabilities are based on the capabilities of wxWidgets.

I don't see anything on the wxWidgets website about a "glass" interface specifically, but I do see that it supports textures, and controls/forms can be made semi-transparent. You should be able to simulate a glass interface without too much difficulty.

Robert Harvey
i know how to set transparency, but it doesn't look too much like vista's glass (mostly because it's missing blur)
Gabriele Cirulli
A: 

A little late, but I'll answer anyway...

There is no built-in way to take advantage of the glass effect in the Aero theme on Windows using wxPython. However, you can hack something together with the Win32 API. The two functions you are looking for are DwmIsCompositionEnabled and DwmExtendFrameIntoClientArea. Just use the former to check if Aero is enabled, then call the GetHandle() method on your window and pass the result into the latter to get the glass effect.

I've never used wxPython, so it might be more complicated than that (you may have to do more interop work), but that should get you started. If you need help with the interop part, look up Win32 programming in Python.

musicfreak
A: 

wxPython should copy any theme that the native widgets of the OS support. What does it look like now? Does the wxPython demo look right? It's possible that the manifest wasn't included...all I know is that my wxPython programs look "right" on Windows 7 unless I use a generic widget.

Mike Driscoll