0

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

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

我尝试SetFocusCaptureMouse什么都不做。FindFocusGetCapture返回None

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

4

1 回答 1

0

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

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

于 2009-12-22T01:53:07.437 回答