リッチ テキスト/HTML レポートを生成する既存の関数があります。私のアプリは、このレポートをツールチップに表示します。次のコードのようなものを使用して、このレポートをクリップボードにコピーする機能を追加しました。
reportRichText = generateReport()
clipboard = QApplication.clipboard()
reportRichTextMime = QMimeData()
reportRichTextMime.setHtml(reportRichText )
clipboard.setMimeData(reportRichTextMime)
これにより、レポートをコピーして、リッチ テキストを受け入れる任意の場所に貼り付けることができます。たとえば、レポートを MS Word にうまく貼り付けることができます。ただし、問題は、プレーンテキスト エディターに貼り付けられないことです。貼り付けるものが何もないかのように、グレー表示された「貼り付け」の選択しかありません。もう 1 つの興味深い情報として、MS Word で「形式を選択して貼り付け」を行うと、「HTML 形式」として貼り付けるオプションしか表示されず、プレーン テキスト オプションが表示されません。
もちろん、単純に QClipboard を使用してプレーン テキストとしてコピーすれば、好きな場所にコピー アンド ペーストできます。ただし、すべてのマークアップをコピー/貼り付けています。これは明らかに私が望んでいないことです。リッチ テキストまたはマークアップされていないプレーン テキストのいずれかが必要です。
私が期待する動作は、Web ブラウザからテキストをコピーして貼り付けたときに得られる動作です。リッチ テキストを受け入れるアプリケーションの場合、リッチ テキストが貼り付けられます (さらに、MS Word では、プレーン テキストまたはリッチ テキストとして貼り付けることができます)。プレーンテキスト エディターの場合、レンダリングされていないプレーン テキストがプレーン テキスト エディターに貼り付けられます。
QClipboard を使用して、プレーン テキストとしても貼り付け可能なリッチ テキストを取得するにはどうすればよいですか?