2009-12-22 18 views
0

我正在構建一個使用全局快捷鍵(使用python-keybinder)的應用程序,但存在問題。框架彈出並正確提出,但沒有焦點。我必須點擊框架。在GNOME的wxPython中按下快捷鍵後抓取焦點

當我按下我的鍵盤快捷鍵後,我的框架出現,但它沒有集中。我可以看到之前我關注的框架(例如我的Firefox框架)仍然有焦點(即標題欄仍然是白色的&粗體)。只有當我點擊我的應用程序的框架後,Firefox的標題欄變得灰暗。

我嘗試SetFocusCaptureMouse,但都沒有做任何事情。 FindFocusGetCapture返回None

這隻發生在Ubuntu(GNOME)上。在Windows上,框架立即獲得焦點。有沒有辦法強制GNOME將焦點放在我的應用程序/框架上?

回答

0

你最初如何顯示frmae,用frame.Show()?我不確定你是否說框架本身沒有焦點(但是/或框架的一個小孩是否),或者你的應用程序沒有焦點?

您是否在調用初始化所有小部件的Frame中調用SetFocus?這可能是一個關注框架中的孩子的問題。嘗試在幀的末尾使用wx.CallAfter(self.SetFocus)。 init方法 - 它應該確保在所有窗口小部件創建完成後設置焦點

+0

我沒有在init方法中調用SetFocus。我只是從我的鍵盤快捷鍵甚至處理程序調用它。我嘗試了你的建議,但仍然沒有重點。我也澄清了我的問題。 – Cristian 2009-12-22 20:07:17