Search code examples
pythonwindowswinformswxpythonwxwidgets

Forcing classic Windows theme with wxPython


I'm looking for something unorthodox this days. I'd like to make my application look like in the old Windows 2000, using classic Windows style.

Unfortunately wxWidgets defaults to use XP's manifest. I found out that I can disable that by not adding wx.rc, but I do not know how could it be done using Python and wxPython. py2exe removes the manifest by default, but I do not use it.

How to force wxPython to draw old theme Windows controls?


Solution

  • wxPython fixed this back in 2.8.10.1. See http://lwn.net/Articles/333584/ for the change announcement. It looks like the "manifest" is now done programmatically somehow. So if you want to program old school, you'll either need to downgrade your wxPython (and delete the python.exe.manfiest file it creates) or change your PC's visual settings to their lowest values. Or you could try to build a VM with Windows 2000 on it.