我想制作一个平视显示器,弹出它的框架,从前一个应用程序中获取焦点,然后在完成后将焦点返回到该应用程序。
wxPython 框架有 Hide
和 Show
方法,这些方法可以工作,但不会聚焦应用程序。另外,还有 SetFocus
,您可能认为它可以做到这一点,但实际上却没有。
更新
我发现了一个有效的令人讨厌的黑客方法。您无需隐藏和显示框架,而是保存应用程序状态并关闭应用程序而不是隐藏。然后,当您想再次显示时,您可以在新的 multiprocessing.Process
中激发一个新的。但不太理想。我希望有人有更好的东西。
澄清
澄清一下,我正在尝试获取键盘焦点,而不仅仅是将框架置于堆栈顶部。
此问题可能特定于 OS X。
最佳答案
您也许可以通过在框架上调用 Raise
来窃取焦点。还可以应用 wx.STAY_ON_TOP
样式标志。然后,您也许可以使用框架的 Show
和 Hide
方法来使其工作。
根据您具体想要做什么,您可以查看 ToasterBox 小部件。我不记得它是否真的窃取了焦点,但它只是弹出并自行消失,这在某些情况下很方便。
关于python - wxpython 框架 "steal"和 "return"如何像 Dash 应用程序那样聚焦?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29222699/