2012-05-05 3 views
0

wxPython을 사용하여 프로젝트 관리자를 만들고 있는데 스플리터 창이 있습니다. 한쪽에는 파일의 이름을 표시하고 다른 크기에는 파일을 편집하는 데 사용되는 textctrl이있는 트리가 있습니다.다중 키 누름 감지 wxPython

하나의 문제는 SHIFT와 TAB을 눌렀을 때 4 칸 뒤로 가야한다는 것입니다. TAB을 누르면 4 칸 추가되는 코드가 있습니다.

내 프로그램에 다른 폴더에있는 파일을 추가 할 때 트리가 새 노드를 추가하고 파일이이 노드 아래에 나타나고 저장할 트리를 얻는 데 어려움을 겪고 있습니다. 파일.

또한 외부 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