"Always on top" window 在基维

"Always on top" window in Kivy

是否有一些可能的方法可以将 kivy.Window 设置为始终位于其他 windows 的顶部。我的意思类似于 tkinter.Tk().attributes('-topmost', True)。我尝试设置 Window.on_hide = Window.raise_window 但没有成功。

我真的很需要这样做所以请写出任何复杂的解决方案任何帮助将不胜感激。

编辑:

我在 Windows 10,python 3.6.5

Kivy 对此没有 API。看起来 Kivy 的主要窗口后端 SDL2 支持它 only on X11,所以如果那是你的平台,你可以添加该功能。可能有办法使用 Kivy 本身之外的特定于平台的方法来做到这一点,但我不知道。

你或许可以使用 win32 python 模块(win32api、win32gui、winxpgui…)来获得一个 window 句柄(例如:win32gui.FindWindow(None, NAME))然后设置它的属性来粘贴它最重要的是,使用 win32gui.SetWindowPos 应该可以解决问题,这里是相关文档:https://msdn.microsoft.com/en-us/library/windows/desktop/ms633545(v=vs.85).aspx

这个问题几年前就已经回答了,但我想推荐你只使用 Python 库。

我强烈推荐你KivyOnTop。这个很简单,也很好用。

您可以使用 register_topmost(Window, TITLE) 激活 AlwaysOnTop 模式。