有人能解释为什么添加面板会隐藏左右箭头键吗?在
import wx
class AForm(wx.Frame):
def __init__(self):
wx.Frame.__init__(self, None, wx.ID_ANY, "Press Key")
panel = wx.Panel(self, wx.ID_ANY)
panel.Bind(wx.EVT_KEY_DOWN, self.onKeyPress)
self.Show()
def onKeyPress(self, event):
keycode = event.GetKeyCode()
print keycode
app = wx.App()
form = AForm()
app.MainLoop()
如果我把面板拆下来就行了!但是,为了使窗体看起来像Windows应用程序,面板似乎是必需的。在
实际上,你可以这样做。在
要么调用wx.EVT_CHAR_HOOK而不是面板上的
wx.EVT_KEY_DOWN
(尽管这样,事件会一直传播到“收件人”父窗口(框架),而不是由面板严格处理,因此我认为您最好使用第二个选项):或者您在panel构造函数中定义它
^{pr2}$wx.WANTS_CHARS
,如wxpython window documentation中所述,以允许它捕捉这些传统的字符,如下所示:相关问题 更多 >
编程相关推荐