Фокус следует за мышью в wxPython?
Я разрабатываю приложение, которое содержит несколько панелей. УвидетьСкриншот:
Левыйнастройки панель являетсяwx.ScrolledPanel
который содержит рядwx.Panels
.ВершинаСобытия панель являетсяwx.grid.Grid
.Дноданные панель являетсяwx.Panel
который содержитwx.grid.Grid
.Серединасюжет панель являетсяwx.Panel
содержащийувлеченный чако сюжет.Праводетектор панель являетсяwx.Panel
.Я хотел бы реализоватьфокус следует за мышью так что, когда я перемещаю мышь по графику, я могу сразу увеличивать или уменьшать масштаб с помощью колеса прокрутки, не нажимая сначала на график, чтобы придать ему фокус.
Точно так же, когда я перемещаю мышь над левойнастройки , вершинаСобытия или дноданные Панели Я хотел бы иметь возможность сразу прокручивать окно, используя колесо прокрутки, не нажимая сначала на окно.
В настоящее время я определил функцию:
def focusFollowsMouse(window):
window.Bind(wx.EVT_ENTER_WINDOW, lambda event: window.SetFocus())
Я хотел бы применить эту функцию только на четырех панелях верхнего уровня:сюжет, настройки, События а такжеданные.
Однако мне нужно вызвать эту функцию для каждой вложенной панели или элемента управления в каждой из панелей верхнего уровня, чтобы заставить это работать. Например, мне нужно применить эту функцию индивидуально кНастройки измерения, Параметры анализа, Просмотр настроек и т.д. панели.
Скорее всегоEVT_ENTER_WINDOW
Событие не распространяется на родительские окна.
Есть ли способ заставить это работать без примененияfocusFollowsMouse
к каждой подгруппе или элементу управления?
Спасибо