Моя проблема может быть легко определена с помощью следующего кода:
self.Bind(wx.EVT_MENU_OPEN, self.OnAbout)
Это будет означать, что когда я нажимаю на любой элемент wx.Menu() в MenuBar, вызывается функция onAbout(). Как привязать это событие к определенному wx.Menu(), который называется wx.MenuAbout()?
Если вы чувствуете себя очень полезным, возможно, вы могли бы предоставить мне ссылку на документацию по обработчикам событий. Я смог найти документацию для функции обработчика событий, но не для самих обработчиков событий (таких как wx.EVT_MENU).
Аналогичный вопрос, но я не собираюсь привязывать диапазон wx.Menu() к событию: Можно ли привязать событие к меню вместо пункта меню в wxPython?
Изменить: в идеале это то, что я хотел бы сделать:
menuAbout = wx.Menu()
self.Bind(wx.EVT_MENU, self.OnAbout, id=menuAbout.GetId())
В результате любые другие элементы в .menuBar() (такие как: Файл, Правка, Инструменты) будут работать как обычные меню, но «О программе» работает как интерактивная ссылка.
Использование wx.EVT_MENU_OPEN означает, что меню «Файл» может быть открыто, а затем, когда указатель мыши наводится на «о», вызывается функция self.OnAbout, которая, как я понимаю, происходит только тогда, когда пользователь нажимает конкретно на меню «О программе».