在Mac OS X上使用wxPython:创建不抢占焦点的wx.Frame
我在Win32上成功让它工作了(继承自wx.MiniFrame就可以),在wxGTK上也可以用wx.PopupWindow实现。但是无论我怎么尝试,在wxMac上创建一个窗口时,我的主窗口就失去了焦点,而新创建的窗口却获得了焦点。
wxMac似乎没有办法和本地平台进行交互(就像在Win32上用GetHandle(),在wxGTK上用GetGTKWidget()那样),所以我无法用这种方式来解决问题。
我在其他情况下成功实现了这个功能,方法是启动时创建窗口,然后把它移到显示区域之外,等需要的时候再把它移到可见的位置。但是现在这样做会很麻烦,因为我不知道我需要多少个窗口。
那么,有没有更简单的方法来做到这一点呢?
1 个回答
0
如果你想在Mac上获取窗口的本地句柄,可以这样做:
frame.MacGetTopLevelWindowRef()
你也可以使用pyobjc来与窗口进行本地交互。不过,为什么不在打开迷你框架后,直接把焦点设置到你想要的窗口上呢?