Manejo de Strings Con QT
October 12, 2022 | Author: Anonymous | Category: N/A
Short Description
Download Manejo de Strings Con QT...
Description
22/3/2019
Manejo de Strings con Qt – QString , QChar, QStringList – Imaginemos un mundo libre
Imaginemos un mundo libre La paz interior comienza en el momento en el que decides no permitir, que ninguna persona o evento, tome el control de tus emociones.
Manejo de Strings con Qt – QString , QChar, QStringList Trabajar con cadenas de caracteres (Strings), es algo que se realiza a menudo en la programación informática. Qt nos proporciona la clase QString (hp://qt.nokia.com/doc/4.6/qstring.html) que nos va a permitir crear cadenas de tipo Unicode. Unic ode. Unicode es un estándar internacional que actualmente usan la mayoría de sistemas de escritura y Unicode es funciona básicamente asignando un código binario a cada caracter. Lo que permite Unicode es que los usuarios puedan visualizar la información de los programas sin ningún problema, independientemente del idioma y de la plataforma sobre la cual está construido el software. La clase QString permite manipular la información de estas cadenas tipo Unicode y además convertirlas a otros tipos de datos. Cuando se crea una cadena cadena en realidad lo que está pasando es que es que Qt almacena una cadena compuesta por un conjunto de QChars (caracteres) (cara cteres) de 16 bits. Veremos la clase QChar más adelante. Vamos a revisar paso a paso los métodos más importantes de QString. Debemos incluir la clase por supuesto: 1
#include
¿Cómo definimos una cadena? QString str(“Mi cadena”); Si queremos añadir caracteres al inicio de una cadena: str.prepend(“Texto al inicio “); Añadir caracteres al final de una cadena: str.append(” Texto al final”); Para reemplazar una cadena por otra: // A partir del caracter 10, remover 4 caracteres y reemplazar por str.replace(10,4,”Nuevo str.replace(10 ,4,”Nuevo texto”); texto”); // Nuevo Texto. Para eliminar caracteres de una cadena: str.remove(5,5) str.remov e(5,5) ; // A partir del caracter 5, remover 5 caracteres. file:///C:/Use serr s s//Manuel/Desk skttop/Manejo de Strings con Qt – Q St String , QChar, QStrin ing gList – Imagine inemos un mundo li lib bre.html
1/10
22/3/2019
Manejo de Strings con Qt – QString , QChar, QStringList – Imaginemos un mundo libre
Para definir el tamaño exacto de una cadena: // Puede contener solo 10 caracteres. str.resize(10); // str.resize(10); Para retornar el tamaño de una cadena. str.size(); Para retornar el número de caracteres de una cadena. (Similar a size) str.length(); Para eliminar espacios en blanco al inicio y final de una cadena: str.trimmed(); Para eliminar espacios en blanco del principio y del final y reemplazar un caracter considerado como espacio por un espacio en blanco. str.simplified(); Para comprobar si una cadena es vacía: str.isEmpty(); Para buscar un caracter en una posición determinada de una cadena: str.indexOf(“caracter”,posicion); Para retornar la posición de la última ocurrencia encontrada en una cadena: str.lastIndexOf(“caracter”); Para comprobar si existe una ocurrencia dentro de una cadena: // Retorna True o False str.contains(“cadena”, str.contains(“c adena”, Qt::CaseInsen Qt::CaseInsensitive); sitive); // // Qt::CaseInsensitive no diferencia mayúsculas de minúsculas y también existe Qt::CaseSensitive que produce el efecto contrario. Para determinar si una cadena empieza con determinados caracteres: str.startsWith(“car”); // str.startsWith(“car”); // Retorna True o False Para determinar si una cadena finaliza con determinados caracteres: // Retorna True o False str.endsWith(“car”); // str.endsWith(“car”); Para limpiar el contenido de una cadena: str.clear(); También podemos crear la cadena inicialmente vacía y después agregarle los caracteres con: QString str; str.setNum(15); Para convertir una cadena a flotante: int num = str.toDouble(); Para convertir una cadena a entero: int num = str.toInt(); Si la base cadena formada entonces, una queestá puede estar por entrecaracteres 2 y 36. Por defecto puedes es 10. transformar esa cadena a entero usando Por ejemplo si quiero transformar la cadena “FFF” del sistema hexadecimal a un entero uso la base 16, base usada por el sistema hexadecimal. file:///C:/Use serr s s//Manuel/Desk skttop/Manejo de Strings con Qt – Q St String , QChar, QStrin ing gList – Imagine inemos un mundo li lib bre.html
2/10
22/3/2019
Manejo de Strings con Qt – QString , QChar, QStringList – Imaginemos un mundo libre
En este caso la función toInt() recibe 2 parámetros uno de tipo booleano que por defecto es True y la base a la que sea desea convertir. QString str = “FFF”; bool ok; int num = str.toInt(&ok, 16); // 16); // 4095 sería el valor de num Si existe un error en la conversión, por ejemplo queremos convertir “loquesea” a entero, entonces ok devuelve False y el entero tendrá como valor 0. Si la cadena empieza con “0x” se usa la base 16, si empieza con “0” se usa la base 8, de lo contrario se usa la base 10. Para convertir un número a una cadena: // str sería igual a “9” QString str = QString::number QString::number(9.0); (9.0); // Y también podríamos hacer lo opuesto a lo que hicimos anteriormente, a nteriormente, convertir un número a una cadena dependiendo de la base. int num = 255; QString str = QString::number(d, 16); 16); // El valor de str es FF por la conversión del número 255 a hexadecimal (16) QString tambiém tiene 4 métodos que nos van a permitir retornar una cadena de tipo const char *: str.toAscii(); retorna una cadena de 8 bits de codificación ASCII. str.toAscii(); retorna str.toLatin1(); retorna una cadena de 8 bits de codificación Latin-1 (ISO 8859-1). str.toLatin1(); retorna str.toUtf8(); retorna una cadena de 8 bits de codificación UTF-8. str.toUtf8(); retorna El uso de UTF-8 UTF-8 es es importántísimo para la internacionalización, ya que es un estándar y un formato para codificar caracteres Unicode (Como explicamos anteriormente) utilizando bytes de 1 a 4 por carácter. UTF-8 nos va a permitir tener compatibilidad entre programas y soportar múltiples caracteres. str.toLocal8Bit(); retorna una cadena de 8 bits usando el sistema de codificación local. str.toLocal8Bit(); retorna La clase QString (hp://qt.nokia.com/doc/4.6/qstring.html) tiene muchísimas más funcionalidades, miembros y métodos avanzados como pueden apreciar en la documentación oficial de QT. QChar (hp://qt.nokia.com/doc/4.6/qchar.html)es una clase que nos permite definir caracteres Unicode de 16 bits. QChar similar a QString provee funciones que permiten convertir de y hacia otro formato y también funciones que permiten comprobar si el caracter es de cierto tipo de dato o formato. Todas estas funciones retornan True si el caracter ca racter es de cierto tipo de dato, de lo contrario retornan False. isNull(): // Si es nulo. isNull(): // isPrint(); // isPrint(); // Si es cualquier tipo de carácter que se pueda imprimir. isPunct(); // Si es cualquier símbolo de puntuación. isPunct(); // isMark(); // Si es una marca Unicode (hp://qt.nokia.com/doc/4.6/qchar.html#Category-enum). isMark(); // file:///C:/Use serr s s//Manuel/Desk skttop/Manejo de Strings con Qt – Q St String , QChar, QStrin ing gList – Imagine inemos un mundo li lib bre.html
3/10
22/3/2019
Manejo de Strings con Qt – QString , QChar, QStringList – Imaginemos un mundo libre
isLeer(); // Si es letra. isLeer(); // isNumber(); // Si es número. isNumber(); // isLeerOrNumber(); // isLeerOrNumber(); // Si es letra o número. isDigit(); // Si es un dígito decimal. isDigit(); // isSymbol(); // Si es un símbolo. isSymbol(); // Otras funciones importantes: toUpper(); // Convierte un caracter a mayúscula. toUpper(); // // Convierte un caracter a minúscula. toLower(); // toLower(); category(); // category(); // Retorna la categoría Unicode a la que pertenece el caracter. Unicode(); // Retorna una referencia al valor numérico Unicode del QChar. Unicode(); // QStringList (hp://qt.nokia.com/doc/4.6/qstringlist.html) es una clase que nos permite crear listas li stas de cadenas(strings). QStringList es una subclase de QList que QList que usa el mismo método de manejo de arrays que C++, es decir, implementa un array de punteros. Esta clase permite un acceso rápido a los elementos de la lista por medio de índices y permite realizar la tareas comunes de inserción, eliminación, agrupación, ordenación y búsqueda de elementos. Debemos incluir la clase: 1
#include
Para definir una lista de strings: QStringList idiomas; idiomas
View more...
Comments