最近逐步熟悉wxpython,编写了几个小小功能的GUI程序,GUI中免不了会有在代码中触发控件事件的业务需求。在其他Gui界面的语言中有postevent、triggerevent 调用事件名称的函数,非常方便。
在wxpython里如何解决呢,上一段简单的代码。
class frame(wx.Frame):
ID_Help = wx.NewId()
def __init__(self, frame):
super(TaskBarIcon, self).__init__()
self.frame = frame
self.Bind(wx.EVT_MENU, self.OnHelp, id=self.ID_Help)
……
self.Bind(wx.EVT_CHECKBOX, self.OnShowDetail, self.cbxShowDetail)
self.Bind(wx.EVT_BUTTON, self.OnPrint, self.btnPrint)
……
def CreatePopupMenu(self):
menu = wx.Menu()
menu.Append(self.ID_Help,u'帮助&F1')
return menu
……
def ShowMain():
#触发菜单事件,id=self.ID_Help
iRet = wx.PostEvent(self,wx.CommandEvent(wx.EVT_MENU.typeId,self.ID_Help))
return iRet
def PrintMain():
#触发按钮事件,id&#