Как закрепить окно Kivy поверх всех окон?

Рейтинг: 0Ответов: 1Опубликовано: 11.04.2023

Я уже много раз пытался найти полностью рабочий способ по данному вопросу. Нашёл только двух летний вопрос на основном StackOverflow.

Я проверил способ с KivyOnTop, но работает он только на половину, а именно работало это только на Windows и плюс KivyOnTop только закрепляло окно, а открепить уже не мог. (И как я увидел в pull requests в Github-репозитории KivyOnTop, такая проблема не только у меня)

Я хотел бы найти нормально работающий способ закрепить окно Kivy поверх других окон.

Ответы

▲ 0

Не могу подсказать насчет Linux, но в Windows есть прекрасная библиотека pywin32

import win32gui
import win32con

from kivy.app import App
from kivy.uix.floatlayout import FloatLayout
from kivy.core.window import Window

class AddWarning(FloatLayout):
    pass

class WarningApp(App):
    def build(self):
        Window.set_title("ht")
        HWND = win32gui.FindWindow(None, 'ht')
        win32gui.SetWindowPos(HWND, win32con.HWND_TOPMOST, 250, 0, 0, 0, win32con.SWP_NOSIZE)
        return AddWarning()

if __name__ == '__main__':
    WarningApp().run()