1

非常に大きな QTextDocument (リッチ テキスト モード) のプレビュー バージョンのコピーを作成する必要があります。だから、私はその機能のようなものが必要ですclone()が、制限を指定する能力があります。すなわちclone (int maxChars)。ソースコードからわかるようclone()に、あるドキュメントを別のドキュメントに単一の QTextDocumentFragment としてコピーするだけです。したがって、このプロセスを必要な方法で変更することはできません。

これを実装する方法はありますか?

4

2 に答える 2

4

おそらくあなたは次のことをしたいと思うでしょう:

  1. 親として作成QTextCursorするQTextDocument
  2. を呼び出しcursor.movePosition(QTextCursor::Start)ます。これにより、カーソルの位置がドキュメントの先頭に設定されます
  3. を呼び出します。cursor.movePosition(QTextCursor::NextWord, QTextCursor::KeepAnchor, n)ここnで、選択したい単語の量を指定します。
  4. を呼び出しcursor.selection()ます。このメソッドは、選択されたを返しQTextDocumentFragmentます。
于 2013-03-14T06:39:32.697 に答える
0

リッチテキスト(htmlマークアップで指定)を使用する場合は、次のようにします。

// assuming some QTextDocument named 'source', return rich text as html QString object
QString html = source.toHtml();

// pass substring to new QTextDocument instance
QTextDocument dest(html.mid(startChar,endChar));

ここで、startCharとendCharは、ソースQTextDocumentからのhtml文字列の整数インデックスです。

于 2013-03-14T06:10:52.097 に答える