使用GTK+或PyGTK转储X剪贴板数据 [英] Dump X clipboard data with GTK+ or PyGTK
本文介绍了使用GTK+或PyGTK转储X剪贴板数据的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
如何使用PyGTK/GTK+从X剪贴板粘贴HTML数据?
我需要类似xclip的东西,但要能够将剪贴板数据输出为HTML,而不仅仅是纯文本。我在使用PyGTK,但我不怕C中的纯GTK+。
我已经阅读了GtkClipboard和PyGTK的gtk.Clipboard参考,我找到了这个question,但我需要一个小示例来开始。
推荐答案
已更新答案
原答案(下图)使用旧接口,更新版本如下:
import gi
gi.require_version("Gtk", "3.0")
from gi.repository import Gtk, Gdk
clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
text = clipboard.wait_for_contents(Gdk.Atom.intern("text/html", True))
print(text.get_data())
另请注意,您的应用程序可能使用与";text/html";不同的目标:您可以使用:
检查哪些目标可用def get_targets(clipboard, targets, n_targets):
assert len(targets) == n_targets
print(f"There are {n_targets} targets:")
print("
".join(map(str, targets)))
clipboard.request_targets(get_targets)
原始答案
找到了。我使用了类似以下内容:
clipboard = gtk.Clipboard()
target = "text/html"
clipboard.wait_for_contents(target)
clipboard.request_contents(target, dump_clipboard_callback)
然后回调函数可以简单地提取数据:
def dump_clipboard_callback(clipboard, selection_data, data=None):
print selection_data.data
这篇关于使用GTK+或PyGTK转储X剪贴板数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文