我正在python中运行一个小程序,该程序会启动一个小窗口,该窗口需要保持在所有其他窗口的顶部。我相信这是特定于OS的,如何在带有GNOME的GNU-
Linux中完成?
[ 更新-Windows解决方案 ]
可爱,我想我可以使用。我在Vista 64位版本的Eclipse中将Python 2.5.4与Pygame
1.9.1结合使用。因此,这适用于Windows系统。该SetWindowPos功能在此处记录。我将在我的解释中提及这一点。
进口:
from ctypes import windll
然后,我设置了一个变量,该变量在user32中调用“ SetWindowPos”:
SetWindowPos = windll.user32.SetWindowPos
现在,让我说一个窗口:
screen = pygame.display.set_mode((100,100), pygame.NOFRAME)
下一行是关键。这会将窗口设置为在其他窗口之上。
SetWindowPos(pygame.display.get_wm_info()['window'], -1, x, y, 0, 0, 0x0001)
基本上,您向hWnd(窗口句柄)提供了从调用返回的窗口ID display.get_wm_info()。现在,该函数可以编辑您刚初始化的窗口。
这-1是我们的hWndInsertAfter。
MSDN网站说:
可以通过将hWndInsertAfter参数设置为HWND_TOPMOST并确保未设置SWP_NOZORDER标志,或通过以Z顺序设置窗口的位置使其位于任何现有的最上面的窗口上方,来将窗口设为最上面的窗口。当将非