如何处理事件被触发的类外部的函数,我该怎么办?例如,单击面板时调用onClick方法时,下面的代码工作正常。
class MyFrame(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self,parent,id,'Cubit 2D',size=(600,600))
self.Center()
self.panel=(wx.Panel(self))
self.panel.SetBackgroundColour('grey')
self.panel.Bind(wx.EVT_LEFT_DOWN,self.onClick)
def onClick(self,event):
print 'hello'
但是,如果我将函数onClick移动到另一个.py文件,如下所示,它不起作用。如何将事件信息传递给位于其他文件中的函数?
#main file
import wx
import onclick
class MyFrame(wx.Frame):
def __init__(self,parent,id):
wx.Frame.__init__(self,parent,id,'Cubit 2D',size=(600,600))
self.Center()
self.panel=(wx.Panel(self))
self.panel.SetBackgroundColour('grey')
self.panel.Bind(wx.EVT_LEFT_DOWN,onclick.onClick)
其他具有功能的文件
def onClick(self,event):
print 'hello'
答案 0 :(得分:1)
只需从其他文件中的self
函数中删除onClick
参数:
def onClick(event):
print 'hello'
实例方法只需要self
参数,而不是普通函数。