在GNOME上的wxPython中按下快捷方式后抓取框架焦点

时间:2009-12-22 01:27:04

标签: python wxpython gnome

我正在构建一个使用全局快捷键的应用程序(使用python-keybinder),但是存在问题。框架弹出并正确升起,但没有焦点。我必须点击框架。

按下键盘快捷键后,我的画面出现,但没有聚焦。我可以看到我之前关注的帧(例如我的Firefox帧)仍然具有焦点(即标题栏仍然是白色和粗体)。只有在我点击我的应用程序框架后,Firefox的标题栏才变为灰色和暗淡。

我尝试SetFocusCaptureMouse,但都没有做任何事情。 FindFocusGetCapture返回None

这只发生在Ubuntu(GNOME)上。在Windows上,框架立即获得焦点。有没有办法强迫GNOME把焦点放在我的应用程序/框架上?

1 个答案:

答案 0 :(得分:0)

你最初是如何使用frame.Show()显示frmae的?我不确定你是否说框架本身没有焦点(或/或框架的孩子有),或者你的应用程序没有焦点?

您是否在框架中调用SetFocus来初始化所有小部件?这可能是一个关注帧的孩子的问题。尝试在Frame的末尾使用wx.CallAfter(self.SetFocus)。 init 方法 - 它应该确保在完成所有小部件创建后设置焦点