3

私はQtに不慣れではありませんが、QTextEditで選択したブロックにカスタムcssクラスを追加する方法を見つけることができません。

私の知る限り、フォーマットは次のように変更されます。

QTextCursor cursor = textEdit->textCursor();
QTextBlockFormat bfmt;
// Apply format changes
cursor.setBlockFormat(bfmt);

これを行うと、生成されたHTMLコードは、インラインスタイルのスパンを作成しますが、必要なのはcssクラスを挿入することです。

<SPAN class='myclass'>text</span>

テキストのcssクラスを設定するためのQTextBlockFormat内の関数がありません。

4

1 に答える 1

0

<span style="">選択したテキストに手動でタグを追加することで、この動作をエミュレートできるはずです。

QString oldText = cursor.selectedText();
// not the best way to concat three strings, but for example only...
cursor.insertHtml(QString("<span class=\"%1\">%2</span>").arg("myclass").arg(oldText));

selectedText()現在選択されているテキストを返しinsertHtml()、カーソルの先頭に新しいテキストを挿入し、現在の選択がある場合は削除します。

于 2013-02-08T15:57:58.640 に答える