Mac OS X上的wxPython:创建一个wx.Frame而不会窃取焦点

时间:2010-07-11 11:44:48

标签: python macos wxpython pyobjc

我设法让它在Win32上运行(继承自wx.MiniFrame就行了),在wxGTK(wx.PopupWindow)上,但无论我尝试什么,当我在wxMac上创建一个框架时,我的主窗口失去了焦点和新的框架得到它。

wxMac似乎没有办法与原生平台进行交互(类似于Win32上的GetHandle()和wxGTK上的GetGTKWidget()),所以我不能用这种方式破解它。

我设法让这个工作在另一种情况下,通过在启动时创建框架并将其移出显示区域,然后在需要时将其移动到可见位置。但是现在这很麻烦,因为我事先并不知道需要多少帧。

那么,有什么更简单的方法吗?

1 个答案:

答案 0 :(得分:0)

如果你想在Mac中获得窗口的本机句柄,你可以

frame.MacGetTopLevelWindowRef()

也许您可以使用pyobjc本地与Windows进行交互,但为什么不在打开迷你框后将焦点设置在您想要的窗口上?