gpt4 book ai didi

python - 通过 D-Bus 获得有关剪贴板更改的通知

转载 作者:太空宇宙 更新时间:2023-11-04 01:20:58 25 4
gpt4 key购买 nike

有没有办法通过 D-Bus 获得 KDE/GNOME 剪贴板更改的通知?我如何捕获/窃听/订阅剪贴板选择(尤其是在 PyGTK 中)?我有可用的 gtk.Clipboard.wait_for_text() 方法,但它会立即返回剪贴板内容,而我只需要在剪贴板更改时调用它。

最佳答案

这里差不多明白了:python and gtk3 clipboard onChange

问题的核心是:

self.clipboard = gtk.Clipboard()
self.clipboard.connect("owner-change", self.renderText)

对我来说,这个owner-change 信号是从哪里来的,或者如何找到对特定事件负责的信号(理解为 gui 现象),但它确实有效:

#!/usr/bin/env python

import gtk, glib

class ClipboardParse:
def __init__(self):
window = gtk.Window()
window.set_title("example")
window.resize(600,400)
box = gtk.HBox(homogeneous = True, spacing = 2)
self.buf = gtk.TextBuffer()
textInput = gtk.TextView(self.buf)
self.lbl = gtk.Label()
box.add(self.lbl)
window.add(box)
window.connect("destroy", gtk.main_quit)
window.show_all()
self.clipboard = gtk.Clipboard()
self.clipboard.connect("owner-change", self.renderText)

def renderText(self, clipboard, event):
print 'C {0} | E {1}'.format(clipboard, event)
txt = self.clipboard.wait_for_text()
self.lbl.set_text(txt)
print txt
return False

if __name__ == '__main__':
ClipboardParse()
gtk.main()

关于python - 通过 D-Bus 获得有关剪贴板更改的通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21336114/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com