c++ - qtextedit pyqt5
QTextEdit vs QPlainTextEdit (1)
¿Cuál es la diferencia entre QTextEdit
y QPlainTextEdit
, por qué usar uno sobre el otro?
Estoy codificando un editor de texto como un ejercicio para aprender Qt5, y ahora me pregunto si usar QTextEdit
o QPlainTextEdit
. Hasta ahora, solo he descubierto que puedes mostrar imágenes en QTextEdit
, pero aparte de eso, se ven algo idénticas a mí. Mi editor de texto debe admitir algunos resaltados de sintaxis básicos (probablemente usando la señal textChanged()
), pero eso es más o menos lo que se textChanged()
.
Google busca "QTextEdit vs QPlainTextEdit" y "QTextEdit en comparación con QPlainTextEdit" no me dio ningún resultado decente que comparara las dos clases.
QPlainTextEdit
es un visor / editor avanzado que admite texto sin formato. Está optimizado para manejar documentos grandes y responder rápidamente a la entrada del usuario.QPlainText utiliza la misma tecnología y conceptos que
QTextEdit
, pero está optimizado para el manejo de texto sin formato.
QPlainTextEdit
funciona en párrafos y caracteres. Un párrafo es una cadena formateada que se envuelve por palabra para que se ajuste al ancho del widget. Por defecto cuando lee texto sin formato, una nueva línea significa un párrafo. Un documento consta de cero o más párrafos. Los párrafos están separados por saltos de línea dura. Cada personaje dentro de un párrafo tiene sus propios atributos, por ejemplo, fuente y color.
Y luego:
Diferencias con QTextEdit
QPlainTextEdit
es una clase delgada, implementada mediante el uso de la mayor parte de la tecnología que está detrás deQTextEdit
yQTextDocument
. Sus beneficios de rendimiento sobreQTextEdit
derivan principalmente del uso de un diseño de texto diferente y simplificado llamadoQPlainTextDocumentLayout
en el documento de texto (verQTextDocument::setDocumentLayout()
). El diseño de documento de texto sin formato no admite tablas ni marcos incrustados, y reemplaza un cálculo de altura exacto de píxeles con un enfoque de desplazamiento línea por línea, respectivamente, párrafo por párrafo. Esto hace posible manejar documentos significativamente más grandes y aún cambiar el tamaño del editor con el ajuste de línea habilitado en tiempo real. También lo convierte en un visor de registro rápido (versetMaximumBlockCount()
).
Entonces la diferencia es que QPlainTextEdit
está optimizado para manejar texto sin formato, y se puede usar incluso con archivos de texto sin formato muy grandes. También la forma en que se formatea el texto es más simple.
Si planea admitir solo textos sin formato, entonces QPlainTextEdit
es la elección correcta.