wxPython:简单的wxPython程序的另一种写法
一个wxPython程序必须有一个Frame类和App类对象,这两个类可以自己编写,对于简单的应用,可以直接使用wx.PySimpleApp,从而避免了自己编写APP类。下面是上一篇笔记中小程序的另一种写法:
#!/usr/bin/env python # -*- coding: utf-8 -*- ''' Function:简单的wxPython程序 Input:NONE Output: NONE author: socrates blog:http://www.cnblogs.com/dyx1024/ date:2012-06-30 ''' import wx class MyFrame(wx.Frame): ''' 创建一个Frame类 ''' def __init__(self, image, parent = None, id = -1, pos = wx.DefaultPosition, title = u"Hello wxPython"): temp = image.ConvertToBitmap() size = temp.GetWidth(), temp.GetHeight() #图片的大小用做窗口大小 wx.Frame.__init__(self, parent, id, title, pos, size) self.bmp = wx.StaticBitmap(parent = self, bitmap = temp) #class MyApp(wx.App): # ''' # 创建一个App类 # ''' # def OnInit(self): # image = wx.Image('back_image.jpg', wx.BITMAP_TYPE_JPEG) #加载国片 # self.frame = MyFrame(image) # self.frame.Show() # self.SetTopWindow(self.frame) # return True def main(): #创建一个PySimpleApp类对象 app = wx.PySimpleApp() image = wx.Image('back_image.jpg', wx.BITMAP_TYPE_JPEG) #加载国片 frame = MyFrame(image) frame.Show() app.MainLoop() if __name__ == '__main__': main()
运行结果与之前相同。
不积跬步,无以至千里;不积小流,无以成江海。