首页 > 代码库 > Python In Action:一、入门小例子
Python In Action:一、入门小例子
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()
运行结果:
运行这个程序,在我的机器上会报错:DLL load failed: %1 不是有效的 Win32 应用程序。
因为我电脑python装的32位,下的是wxpython64位
只要重新下个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:一、入门小例子
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。