【问题标题】:How do I keep wx.Frame on top not only it's parent frame but all other child frames parent opens?我如何保持 wx.Frame 不仅是父框架而且所有其他子框架父打开?
【发布时间】:2017-04-04 20:26:09
【问题描述】:

我可以使用样式将框架保持在父级之上:

wx.FRAME_FLOAT_ON_PARENT

但是如果这个父窗口打开其他子窗口,它就会失去焦点。

有没有办法让它在这个给定应用程序的所有窗口之上? 我不能使用wx.STAY_ON_TOP,因为当我 Alt-Tab 到其他进程时,它总是在最前面。

【问题讨论】:

    标签: wxpython


    【解决方案1】:

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

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

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

    3.尝试在您正在显示的其他帧上调用frame.ShowWithoutActivating,以防止它们接收焦点。

    4.以上的一些组合

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多