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.

32
demandé sur Markus Meskanen 2013-07-04 12:57:11

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ère QTextEdit et QTextDocument. Ses performances plus d'avantages QTextEdit provient principalement de l'utilisation d'un mise en page simplifiée du texte appelée QPlainTextDocumentLayout sur le texte document (voir QTextDocument::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 (voir setMaximumBlockCount()).

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.

30
répondu Bakuriu 2013-07-04 09:05:37