2010-08-17 24 views
2

我刚刚开始使用GUI应用程序,该应用程序将具有多种不同的模式和大量键盘快捷键。理想情况下,我想支持让用户重新映射这些,就像在eclipse中一样。什么是 - 如果有的话 - 这种情况的标准解决方案?我可以想象,主窗口捕获所有按键并将它们转换为所有儿童控件的按键中立事件作为一种方式,但它感觉笨拙。有没有这样的标准框架?如果是这样,尤其是我可以用作示例的蟒蛇或开源软件。如何设计我的可重映射快捷键软件?

回答

1

我可能会使用类似命令模式的东西。创建一个散列表,其中键是按下的键,值是一个函数(或带有函数的对象),这是要执行的操作。

虽然在CPU时间内可能有更快的方法来做到这一点,但这似乎是最干净和最易维护的方式,而且对于单用户应用程序而言,清理代码应该非常重要,这足够快。