首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用PyGObject将HTML复制到剪贴板

问使用PyGObject将HTML复制到剪贴板
EN

Stack Overflow用户
提问于 2014-08-06 10:41:49
回答 2查看 605关注 0票数 3

我想在Linux GUI环境中将HTML (和纯文本等效物)复制到剪贴板。跨平台是理想的,尽管Linux是我的直接目标。我也想使用一些可以在Python 3.x和2.x中工作的东西。

根据PyGObject docs的说法,Gtk.Clipboard对象set_with_data()方法应该是合适的。但是当我尝试使用它时,类中没有set_with_data成员。

代码语言:javascript
复制
>>> 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中不受支持。)

EN

回答 2

Stack Overflow用户

发布于 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

  • 扩展,甚至在您自己的填充库上使用内省,它提供了一个闭包版本的clipboard.set_text())。
  • 使用PyGTK (如您所提到的已经不再维护)或其他工具包,如PySide/Qt、wxPython等……
票数 1
EN

Stack Overflow用户

发布于 2020-01-12 00:23:07

我无法在Python中完成此工作,但我找到了以下使用xclip的变通方法

代码语言:javascript
复制
import subprocess

s = "TEXT TO <b>COPY</b>!"
cmd = ["xclip", "-sel", "clip", "-t", "text/html", "-f"]
subprocess.check_output(cmd, input=s, text=True)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25151437

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档