清风徐来
Michael's Blog
wxpython设置背景

用wxformbuilder+一点代码来实现。

首先用wxformbuilder来做出界面,并生成代码。运行结果:

默认效果图

使其有背景图片效果: 请输入图片描述

实现代码如下:

#coding:utf-8

import wx
#导入wxformbuilder生成的代码
import BgDemo

class Main(wx.App):
    def __init__(self, redirect=False, filename=None):
        wx.App.__init__(self, redirect, filename)
        dlg = BgDemo.MyFrame(None)

        #这里设置哪个控件需要设置背景
        dlg.m_panel1.Bind(wx.EVT_ERASE_BACKGROUND, self.OnEraseBackground)

        dlg.Show()

    def OnEraseBackground(self, evt):
        """
        设置背景的方法
        """
        dc = evt.GetDC()
        if not dc:
            dc = wx.ClientDC(self)
            rect = self.GetUpdateRegion().GetBox()
            dc.SetClippingRect(rect)
        dc.Clear()
        bmp = wx.Bitmap("Sunset.jpg")
        dc.DrawBitmap(bmp, 0, 0)
 
if __name__ == "__main__":
    app = Main()
    app.MainLoop()

最后修改于 2014-03-13