如果只用通用控件(不用Panel),可以实现完美换肤....
对newedit进行换肤,好玩....
原理是用win32com调用ActiveSkin实现的,因为wxpython的控件是native的,加上ActiveSkin支持COM,我也是突发奇想试了一下,想不到成功了,不过ActiveSkin是商业组件,而且现在已经停了,想买都没法买了,只有用盗版,而且只能在windows下用,有一些控件也不能很好支持,问题太多,所以我一直没公开这个技术,后来我试了很多支持COM的换肤控件包,都不关用。现在有人问起这个问题,就说一下。只需要增加三行代码。 需要安装:ActiveSkin43.rar
切换行号显示
1 import wx, win32com.client 2 .... 3 class MyApp(wx.App): 4 def OnInit(self): 5 self.skinLib = win32com.client.Dispatch("ActiveSkin4.Skin2") #载入ActiveSkin 6 self.skinLib.LoadSkin("Paper.skn") #载入皮肤 7 frame = MyFrame(None, "Simple wxPython App") 8 self.SetTopWindow (frame) 9 self.skinLib.ApplySkin(frame.GetHandle()) #使用皮肤
-- flyaflya [2005-08-04 09:45:16]