wxpython 框架 "steal" 和 "return" 如何像 Dash 应用程序一样聚焦?

How can a wxpython frame "steal" and "return" focus similar to the Dash app?

我想制作一个弹出其框架的抬头显示,从前一个应用程序获取焦点,然后在完成后将焦点返回给该应用程序。

wxPython 框架有 HideShow 方法可以工作但不聚焦应用程序。此外,还有 SetFocus 你认为可以做到但实际上没有的。

更新

我发现了一个有用的讨厌的黑客。您可以保存应用程序状态并关闭应用程序而不是隐藏,而不是隐藏和显示框架。然后当你想再次展示时,你会在新的 multiprocessing.Process 中激发一个新的。虽然不太理想。我希望有人有更好的东西。

澄清

澄清一下,我正在尝试获得键盘焦点,而不仅仅是让框架位于堆栈顶部。

此问题可能特定于 OS X。

您可以通过在框架上调用 Raise 来窃取焦点。 wx.STAY_ON_TOP 样式标志也可以应用。那么您也许可以只使用框架的 ShowHide 方法使其工作。

根据您具体想要做什么,您可以看看 ToasterBox 小部件。我不记得它是否真的偷走了焦点,但它只是弹出并自行消失,这在某些情况下很方便。