QLabel word-wrap-Modus
Ich habe ein label, enthalten manchmal einen langen text ohne Leerzeichen ein (der Pfad in der computer).
Also word-wrap wickelt es sehr unheimlich.
Gibt es eine Möglichkeit, um den Zeilenumbruch des Labels Pause in der Mitte des Wortes oder nicht nur an white spaces?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dies ist nicht elegant, aber funktioniert...
So sagen die header-Klasse ist Privat:
und natürlich definieren thisLabel einige, wo.
es wäre also schön, wenn es war so simpel....
ist das in Ordnung, WENN, UND NUR WENN hat das Wort break Punkte
(DIE PFADE VERMEIDEN SOLLTE)
ALSO halten Sie den aktuellen Pfad in eine separate Zeichenfolge, wenn Sie es brauchen für QFile Zwecke später.
Dann manuell definieren einen Charakter pro Zeile Anzahl, und legen Sie die Leerzeichen in den string....
also sagen wir 50 chars ist eine gute Breite...
Shazam.... simuliert werden Zeilenumbruch ohne ursprünglichen Räume...
nur daran erinnern, dass pathName string ist jetzt nur noch für ziemlich QLabel Zwecke und die pathNameClean string ist der eigentliche Pfad. Qt-Programme zum Absturz bringen, wenn Sie versuchen, eine Datei zu öffnen, die mit einem Leerzeichen injiziert Weg.....
(wenn es keine einfache Methode der Klasse ist es wahrscheinlich nur ein paar Zeilen code zu tun...
und warum problem zu lösen, ist ein Programmierer beste Werkzeug!)
Eine Möglichkeit ist die Verwendung der QTextOption Klasse mit einem QTextDocument statt einem QLabel. Diese können Sie verwenden,QTextOption::WrapMode. QTextOption::WrapAtWordBoundaryOrAnywhere sollte das tun, was Sie wollen.