python如何设置窗口保持显示_如何使python窗口作为“始终在最前面”运行?

这篇博客介绍了如何在Python中使用Pygame和ctypes库设置窗口始终显示在最前面,特别是在Windows系统下。通过调用SetWindowPos函数,可以将窗口置于顶层,使其保持在其他窗口之上。
摘要由CSDN通过智能技术生成

我正在python中运行一个小程序,它启动一个小窗口,需要保留在所有其他窗口之上。我相信这是特定于操作系统的,GNU-Linux在GNOME中是如何完成的?如何使python窗口作为“始终在最前面”运行?

[更新 - 解决方案适用于Windows]

可爱,我想我得到它的工作。我在Vista 64位版本的Eclipse中使用Python 2.5.4和Pygame 1.9.1。因此,这是Windows系统。 SetWindowPos功能记录在Here。我将在我的解释中提到这一点。

进口:

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设置窗口的位置以便它位于任何现有的最顶层窗口之上。当一个非最顶层的窗口成为最顶层

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值