允许wx Panel派生对象接受焦点

时间:2011-08-22 10:17:32

标签: python wxpython matplotlib

我正在使用matplotlib生成图表并使用从WxPanel派生的FigureCanvasWxAgg对象(来自matplotlib)在基于WxPython的前端中显示这些图表。

我想为每个图表添加功能,以便在选择该图表时允许箭头键控制叠加层的位置。为了做到这一点,我需要图表来接受焦点,这样我就可以绑定到每个图表wx.EVT_KEY_DOWN。

目前使用计时器显示每秒焦点一次(使用wx.Window.FindFocus())显示当鼠标悬停在其中一个图表上时按住鼠标左键时,>有焦点(这是正确的),但一旦释放按钮,焦点将返回“无”。

关于如何使wxPanel派生的FigureCanvasWxAgg对象保持焦点的任何建议?

1 个答案:

答案 0 :(得分:1)

wx.Panel并不真正接受焦点。它只是将焦点转移到可以的小部件上。只有当它没有孩子时才能接受焦点。您可能需要在其上调用SetFocus()。本文试图解释它:http://www.blog.pythonlibrary.org/2009/08/27/wxpython-learning-to-focus/