Esto no es elegante, pero hace el trabajo ...
Así que decir tiene clase de cabecera privada:
QLabel *thisLabel;
QString *pathName;
QString *pathNameClean;
y por supuesto la definición thisLabel en algún lugar. por lo que sería mejor si estuviera este sencillo ....
thisLabel->setWordWrap(true);
que está bien si y sólo si la palabra tiene puntos de ruptura ( qué rutas deben evitar)
así que mantenga su trayectoria real en una cadena separada si la necesita para propósitos de QFile más adelante. A continuación, defina manualmente un personaje por el número de línea, e insertar los espacios en la cadena .... por lo que vamos a decir 50 caracteres es un buen ancho ...
pathNameClean = new QString(pathName);
int c = pathName->length();
if(c > 50)
{
for(int i = 1; i <= c/50; i++)
{
int n = i * 50;
pathName->insert(n, " ");
}
}
thisLabel->setText(pathName);
Shazam .... WordWrap simulada sin espacios originales ...
Recuerde que la cadena pathName ahora es solo para fines bonitos de QLabel y que la cadena pathNameClean es la ruta real. Los programas de Qt se bloquean si intenta abrir un archivo con un espacio de ruta inyectada .....
(si no hay un método de clase simple, es probable que solo unas pocas líneas de código ... y por qué resolver problemas es la mejor herramienta de programadores!)
Esto es inaceptable ya que QTextEdit/QTextBrowser no se ajusta a los contenidos. – chacham15
¿Encajar dentro del contenido? No veo tal solicitud en la pregunta. –
Tiene razón, pero ese es el comportamiento predeterminado con QLabel y no con QTextEdit. Además, no es fácil hacer que QTextEdit tenga ese comportamiento. – chacham15