Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] Qt QString: Primera letra mayúscula

Estas en el tema de Qt QString: Primera letra mayúscula en el foro de C/C++ en Foros del Web. Hola Estoy mirando la clase QString y no encuentro un método que haga lo que busco. Quiero poner todas las letras en minúsculas excepto la ...
  #1 (permalink)  
Antiguo 22/03/2015, 16:03
Avatar de jc_moj  
Fecha de Ingreso: septiembre-2009
Ubicación: Andalucía
Mensajes: 137
Antigüedad: 14 años, 7 meses
Puntos: 12
Qt QString: Primera letra mayúscula

Hola

Estoy mirando la clase QString y no encuentro un método que haga lo que busco. Quiero poner todas las letras en minúsculas excepto la primera de cada palabra:

"hola MUNDO" -> "Hola Mundo"

Veo los métodos toLower() y toUpper(), pero no para lo que pretendo. ¿No lo tiene? Y mira que tiene métodos QString XD

Supongo que no me costará mucho hacer un método que lo haga, pero no me gusta hacer lo que ya está hecho.

Un saludo
  #2 (permalink)  
Antiguo 22/03/2015, 16:19
 
Fecha de Ingreso: octubre-2013
Mensajes: 44
Antigüedad: 10 años, 5 meses
Puntos: 5
Respuesta: Qt QString: Primera letra mayúscula

Código C++:
Ver original
  1. QString Utils::ucfirst(const QString str) {
  2.     if (str.size() < 1) {
  3.         return "";
  4.     }
  5.  
  6.     QStringList tokens = str.split(" ");
  7.     QList<QString>::iterator tokItr = tokens.begin();
  8.  
  9.     for (tokItr = tokens.begin(); tokItr != tokens.end(); ++tokItr) {
  10.         (*tokItr) = (*tokItr).at(0).toUpper() + (*tokItr).mid(1);
  11.     }
  12.  
  13.     return tokens.join(" ");
  14. }

http://www.qtforum.org/article/27113/howto-upper-case-first-letter-from-every-word-in-string.html?6c6d9b9f#post93899
  #3 (permalink)  
Antiguo 23/03/2015, 12:27
Avatar de jc_moj  
Fecha de Ingreso: septiembre-2009
Ubicación: Andalucía
Mensajes: 137
Antigüedad: 14 años, 7 meses
Puntos: 12
Respuesta: Qt QString: Primera letra mayúscula

Hola

Pues algo parecido a eso iba a hacer, incluso había visto ese mensaje, pero como es del 2009 y han pasado ya unas cuantas versiones de Qt, me preguntaba si ya incorporaría la clase QString un método que lo hiciese.

Veo que aun no.

Saludos

Etiquetas: letra, primera
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:54.