wxpython设置的背景图像
我们想用wxPyhton设定背景图像,
虽然您可能希望直接在画布上绘制图像以实现其功能(wx.StaticBitmap ),但静态位图构件不是容器,而是包含其他空间。
现在可以利用wx.EVT_ERASE_BACKGROUND巧妙地实现其功能。 另外,这个方法不覆盖你的其他控件
请参阅代码:
import wx
classframe(wx.frame ) :
def __init__(self ) :
wx.Frame.__init__(self,None,-1,' My Frame ',size=(400,300 ),
style=wx.DEFAULT_FRAME_STYLE )
self.panel=wx.Panel(self )
self.panel.bind (wx.evt _ erase _ background,self.OnEraseBack ) ) ) ) ) ) ) ) ) ) ) ) )。
defoneraseback(self,event ) :
dc=event.GetDC ()
if not dc:
DC=wx.clientDC(self )
rect=self.GetUpdateRegion ().GetBox ) )。
DC.setclippingrect(rect ) )。
dc.Clear () )
BMP=wx.bitmap(background.jpg ) )。
DC.drawbitmap(BMP,0,0 ) )。
if __name__=='__main__':
APP=wx.app () )。
frame=Frame ()
frame.Show (
app.MainLoop () )。
另外,我推荐学习python的好的海外博客:
33558 www.blog.python library.org /
有关设置背景的详细信息,请参阅以下页面:
3358 www.blog.python library.org/2010/03/18/wxpython-putting-a-background-image-on-a-panel /