【发布时间】:2016-10-23 08:19:55
【问题描述】:
我有一个 Tkinter 窗口,我需要控制其他所有内容 - 包括全屏窗口。
我尝试过的事情:
root.attributes('-topmost', True) 在 mainloop 之前 - 不起作用
类内的self.root.wm_attributes("-topmost", True) - 不起作用
root.overrideredirect(True) 在 mainloop 之前 - 仅适用于 Linux
root.lift() 在 mainloop 之前 - 不起作用
最后,我设置root.lift() 被重复调用:
class TestingGUI:
def __init__(self, root):
self.root = root
self.EnsureTop()
def EnsureTop(self):
root.lift()
root.after(5000, self.EnsureTop)`
从某种意义上说,它成功地将窗口提升到我手动切换为“始终位于顶部”的任何其他窗口之上,例如使用Dexpot,但至关重要的是,它不适用于全屏应用程序。
具体来说,我需要在游戏中显示它,因为它是游戏中的音乐播放器。对于需要重复使用某些命令以确保再次将窗口调用到顶部的解决方案,我可以接受。
【问题讨论】:
-
对不起,如果这个评论有点跑题了——这个问题本身很好——但我无法理解人们在 2016 年使用 Tkinter。你为什么不使用 wxWidgets、PySide、PyQt 或PyGtk?
-
@linusg 它是 Python 的一部分,它在 Linux 和我做过的其他小型项目上运行良好。当您发表评论时,您有什么建议?
-
查看更新的评论
-
@TessellatingHeckler 我不需要我的应用程序在所有可能的情况下都处于领先地位,仅适用于一小部分应用程序(Steam 游戏)。我很确定他们不会参与想要上位的猫捉老鼠游戏。
标签: python windows tkinter windows-10