Подтвердить что ты не робот

QTextEdit vs QPlainTextEdit

В чем разница между QTextEdit и QPlainTextEdit, зачем использовать один над другим?

Я кодирую текстовый редактор как упражнение для изучения Qt5, и теперь мне интересно, использовать ли QTextEdit или QPlainTextEdit. До сих пор я только узнал, что вы можете отображать изображения в QTextEdit, но кроме этого они выглядят несколько идентичными мне. Мой текстовый редактор должен поддерживать базовую подсветку синтаксиса (возможно, используя сигнал textChanged()), но это в значительной степени зависит от требований.

Google ищет "QTextEdit vs QPlainTextEdit" и "QTextEdit по сравнению с QPlainTextEdit" не дал мне никаких достойных результатов, которые бы сравнили два класса.

4b9b3361

Ответ 1

Из документации Qt:

QPlainTextEdit - это расширенный просмотрщик/редактор, поддерживающий простой текст. Это оптимизирован для обработки больших документов и быстрого реагирования на пользователя вход.

QPlainText использует очень те же технологии и концепции, что и QTextEdit, но оптимизирован для обработки обычного текста.

QPlainTextEdit работает над параграфами и символами. Абзац - это форматированная строка, которая обернута словом, чтобы вписаться в ширину виджет. По умолчанию при чтении простого текста одна новая строка означает параграф. Документ состоит из нуля или более абзацев. Пункты разделяются жесткими разрывами строки. Каждый символ в абзаце имеет свои собственные атрибуты, например, шрифт и цвет.

И позже:

Различия в QTextEdit

QPlainTextEdit - это тонкий класс, реализованный с использованием большей части технологии, которая находится за QTextEdit и QTextDocument. Его производительность преимущества по сравнению с QTextEdit основываются главным образом на использовании упрощенное текстовое оформление под названием QPlainTextDocumentLayout в тексте документ (см. QTextDocument::setDocumentLayout()). Обычный текст макет документа не поддерживает таблицы и встроенные фреймы; заменяет точное вычисление высоты пикселя с помощью строки соответственно, поэтапный подход к прокрутке. Это делает это можно обрабатывать значительно большие документы и изменять размер редактор с завершением строки, включенным в режиме реального времени. Это также быстрый просмотр журнала (см. setMaximumBlockCount()).

Таким образом, разница в том, что QPlainTextEdit оптимизирован для обработки обычного текста и может использоваться даже при очень больших текстовых файлах. Также способ форматирования текста проще.

Если вы планируете поддерживать только простые тексты, то правильный выбор QPlainTextEdit.