在键盘上按下按键时,会触发一个wx.EVT_KEY_DOWN事件,放开按键时,会触发一个wx.EVT_KEY_UP。可以通过获取键盘码,判断是按下了哪个按键。
程序清单:key_event.py
import wx
# 继承Frame
class KeyEvent(wx.Frame):
def __init__(self, *args, **kwargs):
super(KeyEvent, self).__init__(*args, **kwargs)
# 初始化窗口UI
self.init_ui()
def init_ui(self):
panel = wx.Panel(self)
# 键盘按下事件
panel.Bind(wx.EVT_KEY_DOWN, self.key_down)
panel.SetFocus()
self.SetSize(900, 500)
self.SetTitle("键盘事件处理")
self.Centre()
self.Show(True)
def key_down(self, e):
print(e)
key_code = e.GetKeyCode()
if key_code == wx.WXK_ESCAPE:
self.Close() # 关闭窗口
else:
print("按了%s键" % key_code)
def main():
app = wx.App(False)
KeyEvent(None)
app.MainLoop()
if __name__ == "__main__":
main()
运行程序之后,弹出的窗口如下:
在窗口中,按下键盘Enter键时,在控制台会输出如下内容:
<wx._core.KeyEvent object at 0x7fb32a5821f0>
按了13键
好了,键盘事件的内容就说到这了,关注我,下一节更精彩。
码字不易,你的关注和转发是对我最大的鼓励,谢谢!
一个当了10年技术总监的老家伙,分享多年的编程经验。想学编程的朋友,关注我,你就赚到了。我正在分享Python、前端、Java和App方面的干货了。赶紧来围观啊!!!