Monday, August 28, 2006

2.1创建最终的hello.py程序

创建最终的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:

Anonymous said...

我现在在学习PYTHON,我也很喜欢这门语言,简单易学,我是在用那个SPE去编辑程序的,看了你的博客收益匪浅。
我现在还有有很多关于spe的问题,不知道你可不可以帮我解决,我的QQ:17472307
谢谢