【问题标题】:"Always on top" window in KivyKivy 中的“始终在顶部”窗口
【发布时间】:2018-05-13 09:28:47
【问题描述】:

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

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

编辑:

我在 Windows 10,python 3.6.5

【问题讨论】:

    标签: python window kivy always-on-top


    【解决方案1】:

    您可能可以使用 win32 python 模块(win32api、win32gui、winxpgui...)来获取窗口句柄(例如:win32gui.FindWindow(None, NAME))然后将其属性设置为将其粘贴在顶部,使用 win32gui.SetWindowPos 应该可以解决问题,这是相关文档:https://msdn.microsoft.com/en-us/library/windows/desktop/ms633545(v=vs.85).aspx

    【讨论】:

    • 是的,这就是我从昨天开始就想出来的,但是谢谢:)
    • 啊,谢谢你的支持,我很惊讶你能这么快验证这是一个很好的答案!
    • 我现在正在开发应用程序,所以你知道.. 我喜欢你的 Kivy 框架 :)
    【解决方案2】:

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

    【讨论】:

    • 我以为可以做到,如果窗口被隐藏,再次将其抬起。
    【解决方案3】:

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

    我强烈推荐你KivyOnTop。这非常简单并且效果很好。

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

    【讨论】:

    • 是的。我最终制作了那个图书馆。 :D
    • 哦,这个库是你做的?真的很酷!
    猜你喜欢
    • 1970-01-01
    • 2011-05-19
    • 2015-02-08
    • 1970-01-01
    • 1970-01-01
    • 2011-08-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多