2009-12-22 2 views
0

(python-keybinder을 사용하는) 글로벌 단축키를 사용하는 앱을 만들고 있는데 문제가 있습니다. 프레임이 튀어 나오고 올바르게 올리지 만 초점은 없습니다. 프레임을 클릭해야합니다.바로 가기 키를 눌러서 프레임을 잡아 그놈에서 wxPython을 누르면

내 키보드 단축키를 누르면 프레임이 나타나지만 포커스가 맞지 않습니다. 이전에 초점을 맞춘 프레임 (예 : 내 Firefox 프레임)에는 여전히 포커스가 있음을 알 수 있습니다 (예 : 제목 표시 줄은 여전히 ​​흰색 & 굵게 표시됨). 파이어 폭스의 제목 표시 줄은 앱의 프레임을 클릭 한 후에 만 ​​회색으로 희미해진다.

나는 SetFocusCaptureMouse을 시도하지만 아무것도하지 않습니다. FindFocusGetCapture return None.

우분투 (GNOME)에서만 발생합니다. Windows에서는 프레임이 즉시 초점을 맞 춥니 다. 그놈이 내 앱/프레임에 집중하도록 강제 할 수있는 방법이 있습니까?

답변

0

프레임과 함께 처음에는 어떻게 frmae가 표시됩니까?()? 프레임 자체에 포커스가 없거나 프레임의 자식이 포커스를 가지고 있지 않다고 말하면 확실하지 않습니까?

모든 위젯을 초기화하는 프레임에서 SetFocus를 호출합니까? 그것은 틀의 어린이에게 주어진 초점의 문제 일 수 있습니다. 프레임 끝에 wx.CallAfter (self.SetFocus)를 사용해보십시오. 초기화 메서드 - 모든 위젯 생성이 완료된 후에 포커스가 설정되도록해야합니다.

+0

init 메서드에서 SetFocus를 호출하지 않았습니다. 나는 키보드 단축키 짝수 핸들러에서만 호출하고 있었다. 나는 당신의 제안을 시도했으나 여전히 초점은 없습니다. 나는 또한 위의 내 문제를 명확히했다. – Cristian