我在python中运行一个小程序,它启动一个小窗口,需要保留在所有其他窗口之上。 我相信这是特定于 *** 作系统的,GNU-linux在GNOME中是如何完成的?
[ 更新 – windows解决scheme ]
很可爱,我觉得我的工作。 我在64位的Vista上使用Pygame 1.9.1中的Python 2.5.4。 因此,这是windows系统。 SetwindowPos函数logging在这里 。 我将在我的解释中提到这一点。
import:
在Gnome 3,Xfce和Unity下的Qt中,带有子窗口的全屏窗口并不能保持最佳状态
设置另一个程序总是在最上面?
from ctypes import windll
然后我build立一个variables,在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,0x0001)
基本上,您提供的hWnd (窗口句柄)的窗口ID是从调用display.get_wm_info() 。 现在该function可以编辑刚刚初始化的窗口。
-1是我们的hWndInsertAfter 。
MSDN网站说:
通过将hWndInsertAfter参数设置为HWND_topMOST并确保未设置SWP_NOZORDER标志,或者通过在Z顺序中设置窗口的位置,使窗口位于任何现有的最顶层窗口之上,可以使窗口成为最上层的窗口。 当一个非最顶层的窗口是最顶层的时候,它所拥有的窗口也是最顶层的。 它的主人却没有改变。
所以, -1确保窗口高于任何其他现有的最高层窗口,但是这可能不适用于所有情况。 也许-2击败-1? 目前它适用于我。 总结
以上是内存溢出为你收集整理的如何使python窗口运行为“始终在最前面”?全部内容,希望文章能够帮你解决如何使python窗口运行为“始终在最前面”?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
请登录后查看评论内容