如何让wx向导像普通的Microsoft Windows应用程序一样响应键盘加速器

时间:2013-12-06 10:30:45

标签: wxpython wxwidgets

wxpython中的向导会自动响应页面上按钮的键盘加速器(例如“Alt-N”以激活下一个按钮)。我想要这个但是......

只有在可见向导页面上至少有一个交互式窗口小部件时才会这样做。如果页面只有静态文本,那么加速键击不会做任何事情。

向导还会响应根本不应该执行任何操作的按键,例如,只要焦点位于图像按钮上,“C”或“c”就会激活取消按钮(请注意,如果焦点位于焦点位置,则不会执行此操作在文本输入窗口小部件上 - 在这种情况下,相应的字符将输入到文本框中。)

如何更改wxpython向导的行为,以便:

  • “Alt-N”和“Alt-C”应激活下一个和取消按钮,即使在只有静态文本控件的页面上也是如此
  • “N”和“C”不应激活下一个和取消按钮,无论哪个小部件具有当前焦点。

1 个答案:

答案 0 :(得分:0)

Alt-N没有任何影响的问题似乎是一个wxWidgets错误,所以我认为你不能在wxPython中解决它。也许您可以尝试在向导中捕获EVT_CHAR,并查看是否在那里获得了该事件。

对于某些特定控件具有焦点时禁用某些键,您绝对应该能够在此控件中捕获EVT_KEY_DOWN。虽然我真的不明白你为什么要这样做。