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

标签 python wxpython wxwidgets

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

wxPython 框架有 HideShow 方法,这些方法可以工作,但不会聚焦应用程序。另外,还有 SetFocus,您可能认为它可以做到这一点,但实际上却没有。

更新

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

澄清

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

此问题可能特定于 OS X。

最佳答案

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

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

关于python - wxpython 框架 "steal"和 "return"如何像 Dash 应用程序那样聚焦?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29222699/

相关文章:

c++ - 我可以将基类的个别成员的状态更改为私有(private)吗?

python - wxpython事件处理: GetValue after key is pressed

python - wxPython中查找文本大小的正确方法

event-handling - 防止 wxPython 事件命中多个窗口?

python - 查看所有绑定(bind),wxpython

python - 如果满足特定条件,如何从数据框中选择字段?

python - 将垂直滚动条添加到跨多个面板的 wxFrame

python - 使用 Python 如何合并两列并仅在另一列中的数据存在时覆盖一列中的数据?

python - Try-Except 异常会创建更多异常

python - 将wav文件导入笔记本