【发布时间】:2014-02-11 17:31:28
【问题描述】:
我正在使用 wxPython 编写一个可以在 OS X、Windows 和 Linux 下运行的应用程序。我正在尝试实现标准的“关闭窗口”菜单项,但我不确定如何找出最前面的窗口。 WX 有一个GetActiveWindow function,但显然这只适用于 Windows 和 GTK。在 OS X 上是否有内置方法可以做到这一点? (如果没有,为什么不呢?)
【问题讨论】:
-
不是有菜单的窗口是唯一可以接收您正在处理的关闭窗口菜单事件的窗口吗? IE 为了激活“关闭窗口”,用户已经不得不把这个窗口放在前面,所以......这是你必须关闭的那个?
-
@GreenAsJade 我不认为这是正确的。当我作为主窗口的子窗口(带有菜单栏的窗口)打开一个窗口时,菜单栏仍然在屏幕上可见,并且可以通过键盘快捷键访问。
-
但是无论如何,如果他们在一个窗口上操作菜单的“关闭窗口”选项,那么他们就是选择关闭那个窗口。操作一个名为“关闭窗口”的菜单项来关闭一些 other 窗口会让我觉得很奇怪。这听起来不像“标准关闭窗口”行为。
-
@GreenAsJade 我说的是 OS X,每个应用程序只有一个菜单栏。 (您可以为不同的窗口显示不同的菜单栏,但在我的情况下,我选择不这样做。)因此有一个“关闭窗口”菜单项,选择它应该关闭最前面的窗口.
-
知道了 - 让我考虑一下 :) 需要考虑,因为最重要的窗口取决于窗口管理器(在本例中为 OSX)。我什至不确定为什么我自己没有遇到这个问题:)