我運行簡單的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