是否可以将事件绑定到菜单而不是wxPython中的菜单项?

时间:2008-11-18 20:29:34

标签: python wxpython

无需添加

1 个答案:

答案 0 :(得分:2)

菜单打开时,您想要一个活动吗?使用EVT_MENU_OPEN(func)wxMenuEvent)。但它并不特别精确。正如文档所述,如果您打开菜单,它只会发送一次。对于另一个事件,您必须关闭它并再次打开另一个菜单。即,介于两者之间,您可以打开其他菜单(通过将其他项目悬停在菜单栏中),并且不会再次发送该事件。

你需要什么?可能还有另一种方法,而不是听这种事件。

如果您想要一个菜单​​中所有项目的事件,请使用EVT_MENU_RANGE(id1, id2, func)(使用wxCommandEvent)。从id1id2开始的所有ID都将连接到给定的事件处理程序。使用范围而不是将每个项目分开连接将提供更好的性能,因为事件处理程序列表中的项目更少。