wxPython如何捕获键盘消息

捕获键盘消息,可以很容易定制自己的快捷键(当然也可以采用其它办法),下面是一个小例子:

#-*- coding:utf-8 -*-

import wx

class KeyEvent(wx.Frame):
    def __init__(self, parent, id, title):
        wx.Frame.__init__(self, parent, id, title)
        panel = wx.Panel(self, -1)
        panel.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown)

        self.Bind(wx.EVT_KEY_DOWN, self.OnKeyDown)
        
        self.Centre()
        self.Show(True)
 
    def OnKeyDown(self, event):
        #按键时相应代码
        kc=event.GetKeyCode()
        if 32<=kc<=126:
            self.SetTitle(chr(kc))

app = wx.App()
KeyEvent(None, -1, 'Test KeyDown Event of wxPython')
app.MainLoop()

这个程序在你按键时自动修改Frame的标题.

注意两个bind,这样在frame和panel上面事件或消息都能捕获.

你可能感兴趣的:(wxPython)