linux - 使用 PyGObject 将 HTML 复制到剪贴板

标签 linux python-3.x pygobject

我想在 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 它已被弃用并且在 Python 3.x 中不受支持。)

最佳答案

我无法通过 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)

关于linux - 使用 PyGObject 将 HTML 复制到剪贴板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25151437/

相关文章:

linux - Uwsgi 皇帝没有封臣

linux - udpsink 似乎不流任何东西,但 filesink 工作

linux - 从 hdparm 输出中提取信息

Python:如何从 n 个输入创建 n 个新列表?

python - 使用 python3 表示实体之间的关系

python - 试图让我的播放器transform.flip python

python - 如何提升最小化或被 PyGObject 覆盖的窗口?

python - 无法在 py2exe 中包含 gi.repository.Gtk

linux - 当我们在 shell 上打开 Vi 编辑器时到底会发生什么

python - 与 main 一起终止 GObject.Mainloop() 线程