如何将wx.Frame保留在顶部,不仅仅是父框架,还有父框架打开的所有其他子框架?

时间:2017-04-04 20:26:10

标签: wxpython

我可以使用样式在父级之上保留一个框架:

wx.FRAME_FLOAT_ON_PARENT

但如果此父级打开其他子窗口,则会失去焦点。

有没有办法让它保持在这个给定应用程序的所有窗口之上? 我无法使用wx.STAY_ON_TOP,因为当我将Alt-Tab添加到其他进程时,它始终位于顶部。

1 个答案:

答案 0 :(得分:1)

最简单的解决方案(没有看到代码)可能是

1。将框架绑定到EVT_KILL_FOCUS,然后从绑定事件中调用frame.SetFocus()。缺点是在该框架上有多个小部件会使事情变得复杂,因为您必须绑定到每个小部件。获取具有焦点调用的帧wx.GetActiveWindow()

2. 将其他窗口绑定到EVT_ACTIVATE,然后调用frame.SetFocus()重新激活正确的帧。

3。尝试在您展示的其他框架上调用frame.ShowWithoutActivating,以防止他们获得焦点。

4. 以上

的某些组合