onkeydowevent,输入字符或导航



我在wxPython中的OnKeyDownEvent有一点问题。如果用户正在键入字符(如a,),/,/, &,…),如果只是导航(箭头键,pageUp/pageDown, home/end, Ctrl + a或C或V,等等),我希望采取不同的行动。基本上,我像这样提取修饰符和键代码:

modifiers = e.GetModifiers()
key = e.GetUnicodeKey()
if not key:
    key = e.GetKeyCode()

但在那之后,嗯,这有点复杂。一会儿,我测试了key:

的值
if modifiers == wx.MOD_NONE and 0 < key < 255:

但这并没有真正有效…而且不是很漂亮。例如,右括号显然有一个大于255的键码。

如果您想知道我为什么这样做,这个案例研究有点奇怪:我有一个巨大的文本区域,其中以编程方式输入文本(通过连接到远程服务器),但用户可以在该字段中键入。然而,当他这样做时,光标被移动到最后一行…这有点像拥有一个只读文本区域,除了最后一行。我这样做是出于可访问性的原因,我知道两个单独的字段会更简单,但是,这对屏幕阅读器来说不是很好。

谢谢你的帮助!

您是否考虑过在set()中定义导航键,然后检查该键是否在导航集中,而不是测试所有其他键?

相关内容

  • 没有找到相关文章

最新更新