如何在python中制作浮动的无窗口小部件

时间:2018-08-19 10:20:00

标签: python python-3.x kivy desktop-application gtk3

我很好奇,如何创建类似于synapse

的小部件

或者albert之类的 这些应用程序只是在桌面上浮动而没有窗口。我的问题是,可以使用kivy或Gtk或诸如此类的方法通过python来实现。如果在此发布错误的位置,请原谅我。

1 个答案:

答案 0 :(得分:0)

如果您的意思类似于以下示例(橙色GUI是一个奇异的窗口):

enter image description here

这可以通过pywin32扩展来实现。 为您的kivy应用命名:

class myApp(App):
    '''Main kivy application class.'''
    title = 'myfloatingapp'

然后抓取kivy窗口(假设它具有焦点并且在前景上),使其成为最上层的窗口(=始终在顶部),并将其放置在桌面上的x,y上。例如:

import win32gui
import win32con

mykivywinHndl = win32gui.GetForegroundWindow()
mykivywinName = win32gui.GetWindowText(mykivywinHndl)
if mykivywinName  == 'myfloatingapp':
    win32gui.SetWindowPos(mykivywinHndl, win32con.HWND_TOPMOST, x_pos, y_pos, width, height, win32con.SWP_SHOWWINDOW)