我运行简单的wxpython应用程序驻留在任务栏/系统托盘区域,当用户单击它时显示弹出式菜单。工作正常,除了我需要显示弹出菜单时,用户单击任务栏图标(mac)上的鼠标右键。在mac上,如何检测鼠标右键单击wxpython应用程序的taskbaricon
绑定右击喜欢:
self.Bind(wx.EVT_TASKBAR_RIGHT_UP, self.onRight)
没有做任何事情。
我运行简单的wxpython应用程序驻留在任务栏/系统托盘区域,当用户单击它时显示弹出式菜单。工作正常,除了我需要显示弹出菜单时,用户单击任务栏图标(mac)上的鼠标右键。在mac上,如何检测鼠标右键单击wxpython应用程序的taskbaricon
绑定右击喜欢:
self.Bind(wx.EVT_TASKBAR_RIGHT_UP, self.onRight)
没有做任何事情。
您不需要直接绑定事件。 wx.TaskBarIcon有一个方法来添加一个右键菜单,although the wxPython docs are a bit light-on,wxWigets docs解释得很好。
如果C++文档让您感到困惑,请查看任务栏图标上出色的Mouse vs Python教程。
ETA:
注意,默认情况wxPython的让你在Mac上wxWigets菜单栏项目,其中据我所知,only captures a left-click event(线353)。
wx.TaskBarIcon(wx.TBI_DOCK)
这可以捕捉左侧和右侧点击:如果您构建您的项目通过正确的魔法的话,你可以得到一个停靠任务栏中的项目。
在Windows7上,右键菜单可以正常工作,无需绑定任何事件。在Mac上,默认情况下左键点击菜单工作,我也需要右键点击相同的菜单。我无法找到任何解释如何在MacOS上右键单击显示任务栏菜单的文档 – 2013-05-01 06:23:17
再次查看该鼠标与Python教程。第二个代码示例包含一个'MailIcon'类,该类继承了wx.TaskBarIcon并覆盖了CreatePopupMenu。 – Cathy 2013-05-01 23:44:18
这是wxwidget 2.9.4的已知问题,其中右键单击taskbaricon时未触发事件。 http://trac.wxwidgets.org/ticket/14646
你是指菜单栏还是Dock? Mac上没有与系统托盘直接等价的东西。 – Cathy 2013-04-30 03:55:42
我的意思是使用wx.TaskBarIcon类创建的菜单栏。绑定右键点击如下: self.Bind(wx.EVT_TASKBAR_RIGHT_UP,self.onRight) 不做任何事情。 – 2013-04-30 07:33:18
看来wxPython已经知道没有点击右键点击事件的问题。 [查看此链接](http://trac.wxwidgets.org/ticket/14646) – 2013-11-15 07:19:04