python和gtk3剪贴板onChange

python和gtk3剪贴板onChange,python,clipboard,gtk3,Python,Clipboard,Gtk3,有了PyGTK 2,我可以附加一个函数,当剪贴板的内容被更改时执行。浏览GTK3的python绑定文档,我找不到任何关于此类功能的描述 有人能告诉我这方面的“最佳实践”吗 编辑 使用gtk2进行以下工作: import gtk def test(*args): print "Clipboard changed" clip = gtk.Clipboard() clip.connect('owner-change',test) 当采用Gtk3时 from gi.repository imp

有了PyGTK 2,我可以附加一个函数,当剪贴板的内容被更改时执行。浏览GTK3的python绑定文档,我找不到任何关于此类功能的描述

有人能告诉我这方面的“最佳实践”吗

编辑

使用gtk2进行以下工作:

import gtk

def test(*args):
  print "Clipboard changed"

clip = gtk.Clipboard()
clip.connect('owner-change',test)
当采用Gtk3时

from gi.repository import Gtk, Gdk

def test(*args):
  print "Clipboard changed"

clip = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
clip.Connect('owner-change',test)
Python接受与信号的连接,但我的函数从未执行过

from gi.repository import Gtk, Gdk

def test(*args):
    print "Clipboard changed"

clip = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
clip.connect('owner-change',test)
Gtk.main()

对我有用。

PyGTK中的信号是什么?我不知道。我可以用“车主变更”的信号。clipboard.connect即使在GTK3中也接受该信号,但从未调用我附加的函数。该信号的文档说明,当剪贴板选择的所有者发生更改时,该信号将被触发。当内容发生变化时不会。如果你要依赖未记录的行为,那么你必须期望它会崩溃。我意识到这一点,这就是为什么我要求“最佳实践”来获得此功能。有趣的问题。“业主变更”显然是错误的信号,但我无法说出正确的解决方案。奇怪!它现在可以工作了,我的环境中一定有某种奇怪的设置。然而,“所有者变更”信号是否用于此目的?