如何让Python窗口始终显示在其他窗口之上(Python 3.1)

3
我正在编写一个程序,它基本上有一堆按钮。当你点击其中一个按钮时,它会将某行文本输入到我玩的在线游戏中。如果GUI保持在活动游戏窗口的顶部,这样用户就可以在玩游戏的同时按下面板上的按钮,而不必首先将其置于前台,那么使用起来会更容易。希望能提供如何实现此功能的帮助。谢谢。
编辑:使用tkinter。

你使用哪个GUI框架?我认为还有另一个问题,大多数游戏在DirectX全屏模式下运行,这不允许你在游戏前面再打开一个窗口。考虑使用热键! - leoluk
使用tkinter来创建我的图形用户界面 - Kefka
游戏只能在窗口模式下运行。这是一种专业的程序,做了太多无法使用热键完成的事情(或者至少,使用热键会非常繁琐)。 - Kefka
不是非常相关,但你的问题标题让我想起了这篇文章:如果两个程序这样做会怎样? - Stigma
这个回答解决了你的问题吗?如何确保应用程序窗口始终在最上层? - Wai Ha Lee
1个回答

14

为了得到更详细的答案,请在SO上提供您所使用的GUI框架信息。

在Windows上,您可以使用窗口的句柄来执行此操作。

import win32gui
import win32con
win32gui.SetWindowPos(hWnd, win32con.HWND_TOPMOST, 0,0,0,0,
win32con.SWP_NOMOVE | win32con.SWP_NOSIZE)

使用Tkinter时,您可能需要尝试。虽然我没有尝试过。

root = Tk()
root.wm_attributes("-topmost", 1)

root.wm_attributes("-topmost", 1) 正是我所需要的。谢谢! - Kefka
root.wm_attributes("-topmost", 1) 的效果非常好! - Josh Bullough

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接