清风徐来
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