QLabel word wrap mode
J'ai une étiquette de thet contiennent parfois un long texte sans espaces(chemin d'accès de l'ordinateur).
Donc wrod envelopper l'enveloppe très bizarre.
Est-il un moyen de faire des retour à la ligne automatique de l'étiquette qui va casser au moyen de la parole, ou pas seulement à des espaces?
OriginalL'auteur sara | 2012-09-04
Vous devez vous connecter pour publier un commentaire.
Ce n'est pas élégant, mais fonctionne...
Donc, dire que l'en-tête de la classe a Privé:
et bien sûr la définition de thisLabel certains où les.
donc ce serait bien si c'était aussi simple....
c'est parfait SI ET SEULEMENT SI le mot a des points de rupture
(LES CHEMINS D'ACCÈS DOIVENT ÉVITER)
ALORS gardez votre chemin dans une autre chaîne si vous en avez besoin pour QFile fins plus tard.
Puis de définir manuellement un nombre de caractères par numéro de ligne, et insérez-les dans les espaces de chaîne....
donc on va dire 50 caractères est une bonne largeur...
Shazam.... simulé WordWrap sans espace original...
juste rappelez-vous que le chemin d'accès de la chaîne est maintenant juste pour assez QLabel fins et que les pathNameClean chaîne est le chemin d'accès réel. Qt programmes va planter si vous essayez d'ouvrir un fichier avec un espace injecté chemin.....
(si il n'y a pas qu'une simple méthode de classe, il est probablement juste quelques lignes de code pour le faire...
et pourquoi la résolution de problèmes est un des programmeurs meilleur outil!)
OriginalL'auteur budda
Une façon est d'utiliser l' QTextOption classe avec un QTextDocument au lieu d'un QLabel. Cela vous permet de l'utiliser QTextOption::WrapMode. QTextOption::WrapAtWordBoundaryOrAnywhere devrait faire ce que vous voulez.
En fonction du contenu? Je ne vois pas cette demande dans la question.
Vous avez raison, mais c'est le comportement par défaut avec un QLabel, et non pas avec un QTextEdit. En outre, ce n'est pas facile de prise de QTextEdit ont ce comportement.
La réponse semble donc respecter les exigences, ce qui le rend parfaitement acceptable je pense. Si vous avez une meilleure solution, puis répondre à vous-même. Il pourrait être utile aux futurs téléspectateurs.
OriginalL'auteur Luca Carlon