码迷,mamicode.com
首页 > 编程语言 > 详细

Python In Action:一、入门小例子

时间:2014-12-12 01:13:58      阅读:300      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   io   color   os   sp   java   on   

 Python In Action这本书真是有点猛,一开头就来这么个例子:

 1 import wx
 2 class MyFrame(wx.Frame):
 3     def __init__(self):
 4         wx.Frame.__init__(self,None,-1,My Frame,size=(300,300))
 5         panel=wx.Panel(self,-1)
 6         panel.Bind(wx.EVT_MOTION,self.OnMove)
 7         wx.StaticText(panel,-1,Pos:,pos=(10,12))
 8         self.posCtrl=wx.TextCtrl(panel,-1,‘‘,pos=(40,10))
 9     def OnMove(self,event):
10         pos=event.GetPosition()
11         self.posCtrl.SetValue("%s ,%s" %(pos.x,pos.y))
12 if __name__==__main__:
13     app=wx.App()
14     frame=MyFrame()
15     frame.Show()
16     app.MainLoop()

运行结果:

bubuko.com,布布扣

运行这个程序,在我的机器上会报错:DLL load failed: %1 不是有效的 Win32 应用程序。

因为我电脑python装的32位,下的是wxpython64位

bubuko.com,布布扣

只要重新下个32位的wxpython,重新覆盖安装就行了。

 

以我的理解:

首先创建一个Frame类,这个类重写了父类的初始化函数__init__,添加一个面板Panel:panel=Panel(self,-1),self表示父窗口是该Frame,-1是id

这个程序强大在,鼠标移动的事件绑定直接以一条语句完成:

 panel.Bind(wx.EVT_MOTION,self.OnMove)

这要是放在java里面,不得先创个监听器:xxxListener,然后在监听器里,实现某个方法:onXXX(XXXEvent),最后再注册监听器。
相比Python真的是要麻烦许多。

下一篇:最小的GUI程序

Python In Action:一、入门小例子

标签:style   blog   http   io   color   os   sp   java   on   

原文地址:http://www.cnblogs.com/cool-fire/p/4158780.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!