高度なリッチテキスト処理
大容量ファイルの取り扱い
Qt では、テキスト処理に使用するファイルのサイズに制限はありません。ほとんどの場合、これは問題にはなりません。 ただし、特に大きなファイルの場合、アプリケーションが応答しなくなったり、メモリ不足に陥ったりすることがあります。読み込めるファイルのサイズは、ハードウェアや、Qt およびアプリケーション自体の実装によって異なります。
この問題に直面した場合は、以下の点に対処することをお勧めします。
- Qt XMLは短い段落の処理に優れているため、長い段落を短い段落に分割することを検討してください。また、一定の間隔で改行を挿入することも可能です。これにより、QTextEdit では1つの長い段落として表示されます。
- `maximumBlockCount()` を使用すると、QTextDocument 内のブロック数を減らすことができます。QTextEdit にとっては、ドキュメントのサイズはブロック数に比例するだけです。
- テキスト編集にテキストを追加する際は、編集ブロック内に追加するのが有利です(以下の例を参照)。その結果、テキスト編集はドキュメント構造全体を一度に構築する必要がなくなります。
リストから、後者の手法の例を示します。ここでは、テキストエディタが表示されていることを前提とします。
textEdit.show();
textCursor.beginEditBlock();
for (int i = 0; i < 1000; ++i) {
textCursor.insertBlock();
textCursor.insertText(paragraphText.at(i));
}
textCursor.endEditBlock();© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.