我在前面的笔记五里面曾经提到过无法向Handler中传递参数的问题,今天和limoudou交流了一下,受益匪浅,成功的解决了这个问题。记录一下:
def fuc(self,somthing):
def eventhandler(event):
#process
print somthing
......
return eventhandler
采用函数嵌套函数的办法就能成功解决这个问题,看看将事件绑定的用法:
self.timer=wx.Timer(self)
self.Bind(wx.EVT_TIMER,self.fuc('Hello'),self.timer)
self.timer.Start(1000,oneShot=True)
如此一来,就能够将所需参数传递给事件处理函数了!这样我就可以在iTip中为每个提醒事件创立一个Timer,然后将iTip实例作为参数传递给显示函数了…
源代码先不改了,实在是没有力气了,刚刚又为打包折腾了一个上午,没有成功。运用py2exe进行打包的时候,提示错误很明显,说找不到sqlite模块。我在打包目录下的Library.zip里面自行添加了sqlite模块,结果又提示缺少另外一个模块,我再添加,又提示少另外一个,我的天啊~~~~~放弃!!!我实在就搞不明白了,我在命令行下用Python iTip.py能够成功运行程序,为什么,为什么,打包就这么难!!!!!用了3个打包程序都这么笨,就是找不到模块!
发表回复