Python 有没有办法发现在我的linux机器上发生了粘贴操作?

Python 有没有办法发现在我的linux机器上发生了粘贴操作?,python,pyqt,pygtk,clipboard,xlib,Python,Pyqt,Pygtk,Clipboard,Xlib,我已经使用了pygtk,并且可以使用剪贴板所有者更改跟踪每次在我的linux机器上执行复制操作。我无法跟踪粘贴事件。那么有没有办法找到粘贴操作呢。pygtk、pyqt、xlib或python中的任何其他库中是否定义了任何事件。我一直在努力寻找解决办法。这方面的帮助如果任何人有解决方案或想法如果您只关心跟踪自己数据的粘贴操作,即您在自己的应用程序中设置到剪贴板的数据,那么您可以子类化并重新实现retreiveData()(这对于pyqt应该是可行的,但我没有尝试过) 说明:当您从应用程序复制数据时

我已经使用了pygtk,并且可以使用剪贴板所有者更改跟踪每次在我的linux机器上执行复制操作。我无法跟踪粘贴事件。那么有没有办法找到粘贴操作呢。pygtk、pyqt、xlib或python中的任何其他库中是否定义了任何事件。我一直在努力寻找解决办法。这方面的帮助如果任何人有解决方案或想法

如果您只关心跟踪自己数据的粘贴操作,即您在自己的应用程序中设置到剪贴板的数据,那么您可以子类化并重新实现
retreiveData()
(这对于pyqt应该是可行的,但我没有尝试过)

说明:当您从应用程序复制数据时,仅在数据最终粘贴时才会请求数据,因此您可以提供多种数据格式,而无需事先准备所有格式的所有数据。这样做的目的是,只有当您知道实际需要数据时,才提供数据。(注意:QMimeData为方便起见提供了setData(),并在内部实现了
retrieveData()
以返回您设置的数据。) 您可能会使用这个事实来检测数据何时被粘贴。(尽管我还没有尝试实现这一点。)

您遇到过吗?不知道它是否有帮助,但它包含一些python脚本,这些脚本通过xlib对剪贴板进行一些低级操作。这至少可以告诉你你想做的事是否可能。