如何从Python中的任何应用程序捕获剪贴板事件(onChangeClipboard等效)

san*_*rys 11 python clipboard

我正在剪贴板管理器上工作.我目前的问题是成功捕获任何应用程序中的剪贴板修改.例如 :

  • 从ctrl-c
  • 从右键单击并复制到剪贴板

这个想法是python脚本在后台运行,就像deamon一样,捕获剪贴板的每一个变化

非常感谢 :)

PS:对于知道autohotkey的人,我正在寻找onClipboardChange等价物

san*_*rys 11

我在网上找到了使用GTK的解决方案.有用 :)

import sys
from gi.repository import Gtk, Gdk


def callBack(*args):
    print("Clipboard changed. New value = " + clip.wait_for_text())


clip = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
clip.connect('owner-change',callBack)
Gtk.main()
Run Code Online (Sandbox Code Playgroud)

有没有人有QT解决方案或更原生的解决方案?