QTextEdit vs QPlainTextEdit
Quelle est la différence entre QTextEdit
et QPlainTextEdit
, pourquoi utiliser l'un plutôt que l'autre?
JE CODE un éditeur de texte comme un exercice pour apprendre Qt5, et maintenant je me demande s'il faut utiliser QTextEdit
ou QPlainTextEdit
.
Jusqu'à présent, j'ai seulement découvert que vous pouvez afficher des images dans QTextEdit
, mais à part cela, elles me semblent quelque peu identiques.
Mon éditeur de texte devrait prendre en charge une coloration syntaxique de base (probablement en utilisant le signal textChanged()
), mais c'est à peu près aussi loin que les exigences vont.
Recherches Google pour "QTextEdit vs QPlainTextEdit" et "QTextEdit comparé à QPlainTextEdit" ne m'a pas donné de résultats décents qui compareraient les deux classes.
1 réponses
À partir de la documentation de Qt :
QPlainTextEdit
est un visualiseur/éditeur avancé supportant le texte brut. Il est optimisé pour gérer des documents volumineux et pour répondre rapidement à l'utilisateur entrée.QPlainText utilise à peu près la même technologie et les mêmes concepts que
QTextEdit
, mais est optimisé pour la gestion du texte brut.
QPlainTextEdit
fonctionne sur les paragraphes et de caractères. Un paragraphe est un chaîne formatée qui est enveloppée de mots pour s'adapter à la largeur de la widget. Par par défaut lors de la lecture de texte brut, une nouvelle ligne paragraphe. Un document se compose de zéro ou plusieurs paragraphes. Paragraphe sont séparés par des sauts de ligne. Chaque caractère d'un paragraphe a ses propres attributs, par exemple, la police et la couleur.
Et plus tard:
Différences avec QTextEdit
QPlainTextEdit
est une classe mince, implémentée en utilisant la plupart des technologie derrièreQTextEdit
etQTextDocument
. Ses performances plus d'avantagesQTextEdit
provient principalement de l'utilisation d'un mise en page simplifiée du texte appeléeQPlainTextDocumentLayout
sur le texte document (voirQTextDocument::setDocumentLayout()
). Le texte brut la mise en page du document ne prend pas en charge les tables ni les cadres intégrés, et remplace un calcul de la hauteur exacte du pixel par un calcul ligne par ligne respectivement approche de défilement paragraphe par paragraphe. De ce fait, il possible de gérer des documents beaucoup plus grands, et toujours redimensionner l'éditeur Avec Line wrap activé en temps réel. Il fait également pour un visionneuse de journal rapide (voirsetMaximumBlockCount()
).
Donc, la différence est que QPlainTextEdit
est optimisé pour la gestion du texte brut, et peut être utilisé même avec de très gros fichiers de texte brut. De plus, la façon dont le texte est formaté est plus simple.
Si vous envisagez de ne prendre en charge que des textes simples, alors QPlainTextEdit
est le bon choix.