创建最终的hello.py程序
现在你已经具备了一定的基础知识,下面让我们创建一个最终版本的wxPython应用程序,创建一个名为hello.py的文件,键入下面的代码。
列表1.3最终的应用程序代码。
#!/usr/bin/env python
"""Hello ,WxPython Program"""
import wx
class Frame(wx.Frame):
"""Frame class that display an image"""
def __init__(self,image,parent=None,id=-1,pos=wx.DefaultPosition,title='Hello,WxPython'):
"""create a Frame instance and display an image"""
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 App(wx.App):
"""Application class."""
def OnInit(self):
image = wx.Image('wxPython.jpg', wx.BITMAP_TYPE_JPEG)
self.frame = Frame(image)
self.frame.Show()
self.SetTopWindow(self.frame)
return True
def main():
app = App()
app.MainLoop()
if __name__ == '__main__':
main()
(1)程序的第一行指出了python解析器所在的位置,以便程序可以执行(如果你使用的unix或者linux操作系统)。
(2)然后定义一个Frame类,它是wx.Frame的子类,这样你可以更方便的操作Frame中的组件。
(3)我们在Frame类的构造函数中增加了一个image参数,用于显示图片对象。
(4)wx.StaticBitmap对象用于显示图片。图片的显示大小视窗口大小而定。
(5)定义一个wx.App的子类App并实现它的OnInit方法。这是实现一个WxPython程序的最小要求。
(6)接下来通过wxPython.jpg这个图片文件创建一个图片对象,这个图片可以从Manning的网站下载,你也可以使用其他图片。
(7)main方法是应用程序的入口。
(8)最后一样检测这个模块是否可以单独执行,你也可以在其他地方调用这个模块,而不是单独执行它。
很高兴你已经完成了第一个完整的应用程序,你是否看到一个包含图片的窗口?如果没有仔细检查一下你的代码再试一次,如果你看到了我说的那个窗口,恭喜你,你可以准备进入下一章的学习了。
在开始进入下面的学习之前我要再讲讲wxPython到底可以做些什么,如果你对此不感兴趣,希望快点进入下面的学习也没关系。你可以跳过这不部分继续下面的学习。
1 comment:
我现在在学习PYTHON,我也很喜欢这门语言,简单易学,我是在用那个SPE去编辑程序的,看了你的博客收益匪浅。
我现在还有有很多关于spe的问题,不知道你可不可以帮我解决,我的QQ:17472307
谢谢
Post a Comment