wxpython框架怎么能偷走"并且"返回"焦点类似于Dash应用程序?

时间:2015-03-24 00:03:59

标签: python wxpython wxwidgets

我想制作一个抬头显示器,弹出它的框架,从前一个应用程序中获取焦点,然后在完成后将焦点重新放回该应用程序。

wxPython框架有HideShow方法可以工作但不关注应用程序。此外,您认为会SetFocus这样做但不会。

更新

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

澄清

为了澄清,我正在尝试获得键盘焦点,而不仅仅是将帧放在堆栈顶部。

此问题可能特定于OS X。

1 个答案:

答案 0 :(得分:2)

您可以通过在框架上调用Raise来窃取焦点。还可以应用wx.STAY_ON_TOP样式标志。然后,您可以使用框架的ShowHide方法使其正常工作。

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