我对wxPython中的onkeydown事件有点问题。如果用户正在键入字符(如,),/,我希望采取不同的操作,é, &;,…)如果只是导航(箭头键、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()
中定义导航键,然后检查该键是否在导航集中,而不是测试所有其他键?Sets
相关问题 更多 >
编程相关推荐