【发布时间】:2012-11-28 19:11:12
【问题描述】:
我正在使用 wxPython。我有一个带有一堆按钮的wx.Dialog,还有一个wx.TextCtrl。每个按钮都是一个wx.Button,通过wx.EVT_BUTTON 绑定事件。我按了几个按钮,他们就会做他们的事情。然后我想按空格键。有趣的是,我有一个标记为 SPC 的按钮,它对应于空格键的行为,以增加便利。我希望发生以下情况:
- 您按下空格键按钮,它会识别空格键事件(有效)
-
您按下键盘上的空格键,它会识别空格键事件
一个。你按下键盘上的空格键,重点放在
wx.TextCtrl...(有效)b.你按下键盘上的空格键,焦点在
wx.Button,因为 是您处理的最后一个事件,并且识别出空格键事件(问题)
我已经完成了:
self.typingWindow.Bind(wx.EVT_KEY_DOWN, self.popup)
self.Bind(wx.EVT_KEY_DOWN, self.popup)
第一行允许案例 2a 工作
第二行没有效果,但我认为应该?我看到this old link 解决了完全相同的问题,并且似乎说像我的第二个代码行这样的操作将允许案例 2b 工作。无论如何,在情况 2b 中发生的情况是为最后按下的按钮生成命令事件。这应该是 Windows 的默认行为。
所以我的问题是我的案例 2b 可以工作吗?也就是说,即使焦点当前在按下的最后一个按钮上,我是否可以生成一个按键事件但不是来自最后按下的按钮的命令事件。
【问题讨论】:
标签: windows wxpython wxwidgets