QStringList Class
La clase QStringList proporciona una lista de cadenas. Más...
| Cabecera: | #include <QStringList> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS Core)target_link_libraries(mytarget PRIVATE Qt6::Core) |
| qmake: | QT += core |
| Hereda: | QList |
- Lista de todos los miembros, incluyendo los heredados
- QStringList es parte de Clases implícitamente compartidas y Clases para datos de cadena.
Nota: Todas las funciones de esta clase son reentrantes.
Funciones Públicas
| QStringList(const QList<QString> &other) | |
| QStringList(const QString &str) | |
| QStringList(QList<QString> &&other) | |
| bool | contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | contains(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| bool | contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
(since 6.9) QStringList | filter(const QLatin1StringMatcher &matcher) const |
| QStringList | filter(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QStringList | filter(const QRegularExpression &re) const |
(since 6.7) QStringList | filter(const QStringMatcher &matcher) const |
(since 6.7) QStringList | filter(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| QStringList | filter(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | indexOf(QLatin1StringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | indexOf(QStringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | indexOf(const QString &str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | indexOf(const QRegularExpression &re, qsizetype from = 0) const |
| QString | join(const QString &separator) const |
| QString | join(QChar separator) const |
| QString | join(QLatin1StringView separator) const |
| QString | join(QStringView separator) const |
| qsizetype | lastIndexOf(QLatin1StringView str, qsizetype from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | lastIndexOf(QStringView str, qsizetype from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | lastIndexOf(const QString &str, qsizetype from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const |
| qsizetype | lastIndexOf(const QRegularExpression &re, qsizetype from = -1) const |
| qsizetype | removeDuplicates() |
| QStringList & | replaceInStrings(const QString &before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QStringList & | replaceInStrings(const QRegularExpression &re, const QString &after) |
| QStringList & | replaceInStrings(QStringView before, QStringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QStringList & | replaceInStrings(QStringView before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QStringList & | replaceInStrings(const QString &before, QStringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| void | sort(Qt::CaseSensitivity cs = Qt::CaseSensitive) |
| QStringList | operator+(const QStringList &other) const |
| QStringList & | operator<<(const QString &str) |
| QStringList & | operator<<(const QList<QString> &other) |
| QStringList & | operator<<(const QStringList &other) |
| QStringList & | operator=(const QList<QString> &other) |
| QStringList & | operator=(QList<QString> &&other) |
No Miembros Relacionados
Descripción Detallada
QStringList es en realidad sólo un QList<QString>. Como QList, QStringList es implícitamente compartida. Proporciona un acceso rápido basado en índices, así como inserciones y eliminaciones rápidas. Pasar listas de cadenas como parámetros de valor es rápido y seguro.
Toda la funcionalidad de QList se aplica también a QStringList. Por ejemplo, puede utilizar isEmpty() para comprobar si la lista está vacía, y puede llamar a funciones como append(), prepend(), insert(), replace(), removeAll(), removeAt(), removeFirst(), removeLast(), y removeOne() para modificar una QStringList. Además, QStringList proporciona algunas funciones que facilitan el manejo de listas de cadenas.
Inicialización de
El constructor por defecto crea una lista vacía. Puedes usar el constructor inicializador-lista para crear una lista con elementos:
QStringList fonts = { "Arial", "Helvetica", "Times" };
Añadir cadenas
Se pueden añadir cadenas a una lista utilizando las funciones insert(), append(), operator+=() y operator<<().
operator<<() puede utilizarse para añadir múltiples elementos a una lista:
fonts << "Courier" << "Verdana";
Iterar sobre las cadenas
Véase Iterar sobre contenedores.
Manipulación de cadenas
QStringList proporciona varias funciones que permiten manipular el contenido de una lista. Puedes concatenar todas las cadenas de una lista de cadenas en una sola cadena (con un separador opcional) usando la función join(). Por ejemplo:
QString str = fonts.join(", "); // str == "Arial, Helvetica, Times, Courier"
El argumento a unir puede ser un único carácter o una cadena.
Para dividir una cadena en una lista de cadenas, utilice la función QString::split():
QStringList list; list = str.split(','); // list: ["Arial", "Helvetica", "Times", "Courier"]
El argumento a dividir puede ser un único carácter, una cadena o QRegularExpression.
Además, la función operator+() permite concatenar dos listas de cadenas en una sola. Para ordenar una lista de cadenas, utilice la función sort().
QString list también proporciona la función filter() que permite extraer una nueva lista que contenga sólo aquellas cadenas que contengan una determinada subcadena (o coincidan con una determinada expresión regular):
QStringList monospacedFonts = fonts.filter(QRegularExpression("Courier|Fixed"));
La función contains() le indica si la lista contiene una cadena dada, mientras que la función indexOf() devuelve el índice de la primera aparición de la cadena dada. Por su parte, la función lastIndexOf() devuelve el índice de la última aparición de la cadena.
Por último, la función replaceInStrings() llama sucesivamente a QString::replace() para cada cadena de la lista. Por ejemplo:
QStringList files; files << "$QTDIR/src/moc/moc.y" << "$QTDIR/src/moc/moc.l" << "$QTDIR/include/qconfig.h"; files.replaceInStrings("$QTDIR", "/usr/lib/qt"); // files: [ "/usr/lib/qt/src/moc/moc.y", ...]
Véase también QString.
Documentación de las funciones miembro
QStringList::QStringList(const QList<QString> &other)
Construye una copia de other.
Esta operación tarda un tiempo constante, porque QStringList se comparte implícitamente. Esto hace que devolver un QStringList desde una función sea muy rápido. Si una instancia compartida es modificada, será copiada (copy-on-write), y eso toma tiempo lineal.
Véase también operator=().
QStringList::QStringList(const QString &str)
Construye una lista de cadenas que contiene la cadena dada, str. Las listas más largas se crean fácilmente así:
QStringList longerList = (QStringList() << str1 << str2 << str3);
Véase también append().
QStringList::QStringList(QList<QString> &&other)
Mueve-construye desde QList<QString>.
Después de una construcción exitosa, other estará vacío.
Esta es una función sobrecargada.
[noexcept] bool QStringList::contains(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve true si la lista contiene la cadena str; en caso contrario devuelve false.
Si cs es Qt::CaseSensitive (por defecto), la comparación de cadenas distingue entre mayúsculas y minúsculas; en caso contrario, la comparación no distingue entre mayúsculas y minúsculas.
Véase también indexOf(), lastIndexOf() y QString::contains().
[noexcept] bool QStringList::contains(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve true si la lista contiene la cadena Latin-1 vista por str; en caso contrario devuelve false.
Si cs es Qt::CaseSensitive (por defecto), la comparación de cadenas es sensible a mayúsculas y minúsculas; en caso contrario, la comparación es insensible a mayúsculas y minúsculas.
Se trata de una función sobrecargada.
Véase también indexOf(), lastIndexOf(), y QString::contains().
[noexcept] bool QStringList::contains(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve true si la lista contiene la cadena str; en caso contrario devuelve false.
Si cs es Qt::CaseSensitive (por defecto), la comparación de cadenas distingue entre mayúsculas y minúsculas; en caso contrario, la comparación no distingue entre mayúsculas y minúsculas.
Se trata de una función sobrecargada.
[since 6.9] QStringList QStringList::filter(const QLatin1StringMatcher &matcher) const
Devuelve una lista de todas las cadenas coincidentes con matcher (es decir, para las que matcher.indexIn() devuelve un índice >= 0).
El uso de QLatin1StringMatcher puede ser más rápido cuando se busca en listas grandes y/o en listas con cadenas largas (la mejor forma de averiguarlo es mediante benchmarking).
Por ejemplo:
QStringList veryLargeList; QLatin1StringMatcher matcher("Street"_L1, Qt::CaseInsensitive); QStringList filtered = veryLargeList.filter(matcher);
Esta función se introdujo en Qt 6.9.
Ver también contains() y filter(const QStringMatcher &).
QStringList QStringList::filter(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve una lista de todas las cadenas que contienen la subcadena str.
Si cs es Qt::CaseSensitive (por defecto), la comparación de cadenas distingue entre mayúsculas y minúsculas; en caso contrario, la comparación no distingue entre mayúsculas y minúsculas.
QStringList list; list << "Bill Murray" << "John Doe" << "Bill Clinton"; QStringList result; result = list.filter("Bill"); // result: ["Bill Murray", "Bill Clinton"]
Esto equivale a
QStringList result; for (const auto &str : std::as_const(list)) { if (str.contains("Bill")) result += str; }
Véase también contains().
QStringList QStringList::filter(const QRegularExpression &re) const
Devuelve una lista de todas las cadenas que coinciden con la expresión regular re.
Se trata de una función sobrecargada.
[since 6.7] QStringList QStringList::filter(const QStringMatcher &matcher) const
Devuelve una lista de todas las cadenas coincidentes con matcher (es decir, para las que matcher.indexIn() devuelve un índice >= 0).
El uso de QStringMatcher puede ser más rápido cuando la búsqueda se realiza en listas grandes y/o en listas con cadenas largas (la mejor forma de averiguarlo es mediante benchmarking).
Por ejemplo:
QStringList veryLongList; QStringMatcher matcher(u"Straße", Qt::CaseInsensitive); QStringList filtered = veryLongList.filter(matcher);
Esta es una función sobrecargada.
Esta función se introdujo en Qt 6.7.
Ver también contains() y filter(const QLatin1StringMatcher &).
[since 6.7] QStringList QStringList::filter(QLatin1StringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Esta es una función sobrecargada.
Esta función se introdujo en Qt 6.7.
QStringList QStringList::filter(QStringView str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Se trata de una función sobrecargada.
[noexcept] qsizetype QStringList::indexOf(const QString &str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
[noexcept] qsizetype QStringList::indexOf(QStringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
[noexcept] qsizetype QStringList::indexOf(QLatin1StringView str, qsizetype from = 0, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve la posición del índice de la primera coincidencia de str en la lista, buscando hacia adelante desde la posición del índice from. Devuelve -1 si no hay ninguna coincidencia.
Si cs es Qt::CaseSensitive (por defecto), la comparación de cadenas distingue entre mayúsculas y minúsculas; en caso contrario, la comparación no distingue entre mayúsculas y minúsculas.
Nota: El parámetro cs se añadió en Qt 6.7, es decir, ahora estos métodos sobrecargan los métodos heredados de la clase base. Anteriormente, estos métodos sólo tenían dos parámetros. Este cambio es compatible con el código fuente y el código existente debería seguir funcionando.
Véase también lastIndexOf().
qsizetype QStringList::indexOf(const QRegularExpression &re, qsizetype from = 0) const
Devuelve la posición del índice de la primera coincidencia exacta de re en la lista, buscando hacia adelante desde la posición del índice from. Devuelve -1 si no hay ninguna coincidencia.
Se trata de una función sobrecargada.
Véase también lastIndexOf().
QString QStringList::join(const QString &separator) const
Une todas las cadenas de la lista de cadenas en una sola cadena con cada elemento separado por el separator dado (que puede ser una cadena vacía).
Véase también QString::split().
QString QStringList::join(QChar separator) const
Esta función sobrecarga QStringList::join().
QString QStringList::join(QLatin1StringView separator) const
Esta función sobrecarga QStringList::join().
QString QStringList::join(QStringView separator) const
Se trata de una función sobrecargada.
[noexcept] qsizetype QStringList::lastIndexOf(const QString &str, qsizetype from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
[noexcept] qsizetype QStringList::lastIndexOf(QStringView str, qsizetype from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
[noexcept] qsizetype QStringList::lastIndexOf(QLatin1StringView str, qsizetype from = -1, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
Devuelve la posición del índice de la última coincidencia de str en la lista, buscando hacia atrás desde la posición del índice from. Si from es -1 (por defecto), la búsqueda comienza en el último elemento. Devuelve -1 si no hay ningún elemento coincidente.
Si cs es Qt::CaseSensitive (por defecto), la comparación de cadenas distingue entre mayúsculas y minúsculas; en caso contrario, la comparación no distingue entre mayúsculas y minúsculas.
Nota: El parámetro cs se añadió en Qt 6.7, es decir, ahora estos métodos sobrecargan los métodos heredados de la clase base. Anteriormente, estos métodos sólo tenían dos parámetros. Este cambio es compatible con el código fuente y el código existente debería seguir funcionando.
Véase también indexOf().
qsizetype QStringList::lastIndexOf(const QRegularExpression &re, qsizetype from = -1) const
Devuelve la posición del índice de la última coincidencia exacta de re en la lista, buscando hacia atrás desde la posición del índice from. Si from es -1 (por defecto), la búsqueda comienza en el último elemento. Devuelve -1 si no hay coincidencias.
Esta función está sobrecargada.
Véase también indexOf().
qsizetype QStringList::removeDuplicates()
Esta función elimina las entradas duplicadas de una lista. No es necesario ordenar las entradas. Conservarán su orden original.
Devuelve el número de entradas eliminadas.
QStringList &QStringList::replaceInStrings(const QString &before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Devuelve una lista de cadenas en la que se ha sustituido el texto before de cada cadena por el texto after siempre que se encuentre el texto before.
Nota: Si utiliza un argumento before vacío, el argumento after se insertará antes y después de cada carácter de la cadena.
Si cs es Qt::CaseSensitive (por defecto), la comparación de cadenas distingue entre mayúsculas y minúsculas; en caso contrario, la comparación no distingue entre mayúsculas y minúsculas.
Por ejemplo:
QStringList list; list << "alpha" << "beta" << "gamma" << "epsilon"; list.replaceInStrings("a", "o"); // list == ["olpho", "beto", "gommo", "epsilon"]
Véase también QString::replace().
QStringList &QStringList::replaceInStrings(const QRegularExpression &re, const QString &after)
Sustituye cada aparición de la expresión regular re, en cada una de las cadenas de la lista de cadenas, por after. Devuelve una referencia a la lista de cadenas.
Por ejemplo:
QStringList list; list << "alpha" << "beta" << "gamma" << "epsilon"; list.replaceInStrings(QRegularExpression("^a"), "o"); // list == ["olpha", "beta", "gamma", "epsilon"]
Para expresiones regulares que contienen grupos de captura, las apariciones de \1, \2..., en after se sustituyen por la cadena capturada por el grupo de captura correspondiente.
Por ejemplo:
QStringList list; list << "Bill Clinton" << "Murray, Bill"; list.replaceInStrings(QRegularExpression("^(.*), (.*)$"), "\\2 \\1"); // list == ["Bill Clinton", "Bill Murray"]
Esta es una función sobrecargada.
QStringList &QStringList::replaceInStrings(QStringView before, QStringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Se trata de una función sobrecargada.
QStringList &QStringList::replaceInStrings(QStringView before, const QString &after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Se trata de una función sobrecargada.
QStringList &QStringList::replaceInStrings(const QString &before, QStringView after, Qt::CaseSensitivity cs = Qt::CaseSensitive)
Se trata de una función sobrecargada.
void QStringList::sort(Qt::CaseSensitivity cs = Qt::CaseSensitive)
Ordena la lista de cadenas en orden ascendente.
Si cs es Qt::CaseSensitive (el valor predeterminado), la comparación de cadenas distingue entre mayúsculas y minúsculas; de lo contrario, la comparación no distingue entre mayúsculas y minúsculas.
La ordenación se realiza utilizando el algoritmo std::sort() de la STL, que promedia un tiempo lineal-logarítmico, es decir, O(n log n).
Si desea ordenar sus cadenas en un orden arbitrario, considere el uso de la clase QMap. Por ejemplo, puede utilizar QMap<QString, QString> para crear una ordenación que no distinga entre mayúsculas y minúsculas (por ejemplo, con las claves en minúsculas y los valores en minúsculas), o QMap<int, QString> para ordenar las cadenas por algún índice entero.
QStringList QStringList::operator+(const QStringList &other) const
Devuelve una lista de cadenas que es la concatenación de esta lista de cadenas con la lista de cadenas other.
Véase también append().
QStringList &QStringList::operator<<(const QString &str)
Añade la cadena dada, str, a esta lista de cadenas y devuelve una referencia a la lista de cadenas.
Véase también append().
QStringList &QStringList::operator<<(const QList<QString> &other)
Añade la lista de cadenas other a la lista de cadenas y devuelve una referencia a esta última lista.
Se trata de una función sobrecargada.
QStringList &QStringList::operator<<(const QStringList &other)
Añade la lista de cadenas other a la lista de cadenas y devuelve una referencia a esta última lista.
Se trata de una función sobrecargada.
QStringList &QStringList::operator=(const QList<QString> &other)
Operador de asignación de copia de QList<QString>. Asigna la lista de cadenas other a esta lista de cadenas.
Después de la operación, other y *this serán iguales.
QStringList &QStringList::operator=(QList<QString> &&other)
Mueve el operador de asignación de QList<QString>. Mueve la lista de cadenas other a esta lista de cadenas.
Después de la operación, other estará vacía.
Se trata de una función sobrecargada.
No miembros relacionados
[alias] QMutableStringListIterator
La definición del tipo QStringListIterator proporciona un iterador no-const de estilo Java para QStringList.
QStringList proporciona tanto iteradores de estilo Java como iteradores de estilo STL. El iterador no-const de estilo Java es simplemente una definición de tipo para QMutableListIterator<QString>.
Véase también QStringListIterator y QStringList::iterator.
[alias] QStringListIterator
La definición del tipo QStringListIterator proporciona un iterador const de estilo Java para QStringList.
QStringList proporciona tanto iteradores estilo Java como iteradores estilo STL. El iterador const estilo Java es simplemente una definición de tipo para QListIterator<QString>.
Véase también QMutableStringListIterator y QStringList::const_iterator.
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.