2013-11-22 27 views
0

我已经使用pygtk,并可以跟踪每次在我的linux机器上使用剪贴板所有者更改完成复制操作。我无法追踪粘贴事件。那么有什么方法可以找出粘贴操作。是否有pygtk,pyqt,xlib或Python中任何其他库中定义的事件。我试图从这么多天的解决方案。帮助这个如果任何一个有解决方案或任何想法有没有办法在我的linux机器上发现粘贴操作?

+0

你是否遇到过[关于这个主题的博客](http://commonsmachinery.se/2013/07/copy-paste-linux/)?不知道它是否可以提供帮助,但它包含一些通过xlib对剪贴板进行低级操作的python脚本。这至少可以告诉你,你试图做什么甚至是可能的。 – ekhumoro

回答

0

如果你只关心跟踪您自己的数据粘贴操作,即数据与设置在自己的应用程序中的剪贴板,那么你可以继承QMimeData并重新实​​现retreiveData()(这应该是可行的pyqt,但我还没有尝试过)。

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

相关问题