В чем разница между QTextEdit
а также QPlainTextEdit
зачем использовать один над другим?
Я пишу текстовый редактор в качестве упражнения для изучения Qt5, и теперь мне интересно, стоит ли использовать QTextEdit
или же QPlainTextEdit
,
Пока я только узнал, что вы можете отображать изображения в QTextEdit
Но кроме этого они выглядят несколько идентичными для меня.
Мой текстовый редактор должен поддерживать некоторую базовую подсветку синтаксиса (возможно, используя textChanged()
сигнал), но это в значительной степени, насколько требования идут.
Google ищет «QTextEdit vs QPlainTextEdit» а также «QTextEdit по сравнению с QPlainTextEdit» не дал мне никаких приличных результатов, которые бы сравнивали два класса.
От Документация Qt:
QPlainTextEdit
это расширенный просмотрщик / редактор, поддерживающий простой текст. Это
оптимизирован для обработки больших документов и быстрого ответа пользователю
вход.QPlainText использует те же технологии и концепции, что и
QTextEdit
, но оптимизирован для обработки простого текста.
QPlainTextEdit
работает над абзацами и символами. Абзац это
форматированная строка, которая переносится по словам, чтобы соответствовать ширине
виджет. По умолчанию при чтении простого текста одна новая строка обозначает
параграф. Документ состоит из нуля или более абзацев. Пункты
разделены жесткими переносами строк. Каждый символ в абзаце
имеет свои атрибуты, например, шрифт и цвет.
И позже:
Отличия от QTextEdit
QPlainTextEdit
тонкий класс, реализованный с использованием большей части
технология, которая стоит заQTextEdit
а такжеQTextDocument
, Его производительность
преимущества надQTextEdit
проистекают в основном из использования другого и
упрощенное расположение текста называетсяQPlainTextDocumentLayout
по тексту
документ (см.QTextDocument::setDocumentLayout()
). Простой текст
макет документа не поддерживает таблицы или встроенные фреймы, и
заменяет вычисление высоты с точностью до пикселя строкой за строкой
соответственно пошаговая прокрутка. Это делает это
можно обрабатывать значительно большие документы и при этом изменять их размер
редактор с переносом строк включен в режиме реального времени. Это также делает для
Быстрый просмотр журнала (см.setMaximumBlockCount()
).
Так что разница в том, что QPlainTextEdit
оптимизирован для обработки простого текста и может использоваться даже с очень большими текстовыми файлами. Кроме того, способ форматирования текста проще.
Если вы планируете поддерживать только простые тексты, то QPlainTextEdit
это правильный выбор.
Других решений пока нет …