我想在Linux GUI环境中将HTML (和纯文本等效物)复制到剪贴板。跨平台是理想的,尽管Linux是我的直接目标。我也想使用一些可以在Python 3.x和2.x中工作的东西。
根据PyGObject docs的说法,Gtk.Clipboard对象set_with_data()方法应该是合适的。但是当我尝试使用它时,类中没有set_with_data成员。
>>> from gi.repository import Gtk, Gdk
>>> clipboard = Gtk.Clipboard.get(Gdk.SELECTION_CLIPBOARD)
>>> clipboard.set_with_data
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: 'Clipboard' object has no attribute 'set_with_data'如何使用PyGObject将HTML加纯文本复制到剪贴板?
(我可能会考虑使用PyGTK,但是according to this answer已经弃用,并且在Python3.x中不受支持。)
发布于 2014-08-06 12:04:54
看起来set_with_data()没有通过内省公开,可能是因为函数接受了两个C回调(内省或绑定不支持)。请参见:
https://developer.gnome.org/gtk3/stable/gtk3-Clipboards.html#gtk-clipboard-set-with-data
这是一个已经用GTK+记录的错误:
https://bugzilla.gnome.org/show_bug.cgi?id=656312
一些可能的解决方法:
使用clipboard.set_text()将您的程序限制为只包含文本(破坏您的、C
发布于 2020-01-12 00:23:07
我无法在Python中完成此工作,但我找到了以下使用xclip的变通方法
import subprocess
s = "TEXT TO <b>COPY</b>!"
cmd = ["xclip", "-sel", "clip", "-t", "text/html", "-f"]
subprocess.check_output(cmd, input=s, text=True)https://stackoverflow.com/questions/25151437
复制相似问题