2012-05-05 68 views
0

我正在创建一个使用wxPython的项目管理器,它有一个分离器窗口。一方面是显示文件名称并打开文件的树,另一方面是用于编辑文件的文本控件。多键按键检测wxPython

我遇到的一个问题是,当按下SHIFT和TAB时,我希望它返回4个空格,当按下TAB时,我有代码工作,添加4个空格。

我也有一个问题,当我添加一个文件在不同的文件夹中我的程序cwd树添加一个新的节点,该文件出现在此节点下,我努力让树保存到一份文件。

此外我想知道如何从外部PNG文件中添加图标到树中的项目。

我将不胜感激这些问题的任何帮助。

回答

1

要捕获多个键,您需要捕获EVT_CHAR或使用加速表。后者更容易,而前者可能会给你更多的控制权。这里为大家介绍几个教程:

+0

我已经得到了键盘加速器的工作,但我不知道如何让它回去像我有前进4空格:'txt =''* 4 self.editor.WriteText(txt)' – SC7639

+0

我猜它就像myTxt.SetInsertionPoint(myTxt.GetInsertionPoint() - 4) –

+0

我会尝试,谢谢:) – SC7639

1

我不知道使用WxPython,所以没有太多的想法。但一般情况下,只要按下某个键,就可以调用回调函数,并且可以获得按下该键的时间。保存在某个地方。当下一个键被按下时,获得时间。比较两次,如果没有太大的延迟(你可以决定延迟),这意味着两个键同时被按下(尽管它们不是)。

+0

这是一个相当不错的主意,有没有检测到被压在上一次蟒蛇两个按钮的电流呢? – SC7639

+0

我还未找到任何。无论如何,你不能一次按两个按钮。键盘只会发送一个信号。所以会有一段时间的延迟。 – Froyo

+0

我已经得到了键盘加速器的工作,但我不知道如何让它回到像我有前进一样的4个空格:'txt =''* 4 self.editor.WriteText(txt)' – SC7639