我有一个预先存在的函数,可以生成富文本/html 报告。我的应用程序在工具提示中显示此报告。我添加了使用以下代码将此报告复制到剪贴板的功能:
reportRichText = generateReport()
clipboard = QApplication.clipboard()
reportRichTextMime = QMimeData()
reportRichTextMime.setHtml(reportRichText )
clipboard.setMimeData(reportRichTextMime)
这使我可以复制报告并将其粘贴到任何接受富文本的内容中。例如,我可以将报告很好地粘贴到 MS Word 中。但是,问题是我无法粘贴到纯文本编辑器中。我只是有一个灰色的“粘贴”选项,就好像没有什么要粘贴一样。另一个有趣的花絮,如果我用 MS Word 进行“选择性粘贴”,我只能选择粘贴为“HTML 格式”,没有列出纯文本选项。
当然,如果我只是简单地使用 QClipboard 复制为纯文本,我可以复制粘贴到任何我想要的地方。但是我正在复制/粘贴所有标记。这显然是我不想要的。我要么想要富文本,要么想要未标记的纯文本。
我期望的行为是您从网络浏览器复制/粘贴文本时得到的行为。对于接受富文本的应用程序,将粘贴富文本(此外,MS Word 将允许您粘贴为纯文本或富文本)。对于纯文本编辑器,未渲染的纯文本被粘贴到纯文本编辑器中。
如何使用 QClipboard 获取也可以粘贴为纯文本的富文本?