2013-04-28 53 views
0

我運行簡單的wxpython應用程序駐留在任務欄/系統托盤區域,當用戶單擊它時顯示彈出式菜單。工作正常,除了我需要顯示彈出菜單時,用戶單擊任務欄圖標(mac)上的鼠標右鍵。在mac上,如何檢測鼠標右鍵單擊wxpython應用程序的taskbaricon

綁定右擊喜歡:

self.Bind(wx.EVT_TASKBAR_RIGHT_UP, self.onRight) 

沒有做任何事情。

+0

你是指菜單欄還是Dock? Mac上沒有與系統托盤直接等價的東西。 – Cathy 2013-04-30 03:55:42

+0

我的意思是使用wx.TaskBarIcon類創建的菜單欄。綁定右鍵點擊如下: self.Bind(wx.EVT_TASKBAR_RIGHT_UP,self.onRight) 不做任何事情。 – 2013-04-30 07:33:18

+0

看來wxPython已經知道沒有點擊右鍵點擊事件的問題。 [查看此鏈接](http://trac.wxwidgets.org/ticket/14646) – 2013-11-15 07:19:04

回答

0

您不需要直接綁定事件。 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) 

這可以捕捉左側和右側點擊:如果您構建您的項目通過正確的魔法的話,你可以得到一個停靠任務欄中的項目。

+0

在Windows7上,右鍵菜單可以正常工作,無需綁定任何事件。在Mac上,默認情況下左鍵點擊菜單工作,我也需要右鍵點擊相同的菜單。我無法找到任何解釋如何在MacOS上右鍵單擊顯示任務欄菜單的文檔 – 2013-05-01 06:23:17

+0

再次查看該鼠標與Python教程。第二個代碼示例包含一個'MailIcon'類,該類繼承了wx.TaskBarIcon並覆蓋了CreatePopupMenu。 – Cathy 2013-05-01 23:44:18

相關問題