Если вы можете использовать C ++ 11 (файл проекта qt5 qmake: CONFIG += c++11
), попробуйте этот короткий фрагмент:
QStringList somelist;
// fill list
for(auto& str : somelist)
str = str.trimmed();
Он будет проходить по списку сссылка и результат вызова функции trimmed
будут возвращены элементу в исходном списке.
Без использования C ++ 11 вы можете использовать Qt
методы сИзменяемые итераторы в стиле Java:
QMutableListIterator<QString> it(somelist);
while (it.hasNext()) {
it.next();
it.value() = it.value().trimmed();
}
Последний метод просто идеален, если, например, вы хотите удалить пустые строки после их обрезки:
QMutableListIterator<QString> it(somelist);
while (it.hasNext()) {
it.next();
it.value() = it.value().trimmed();
if (it.value().length() == 0)
it.remove();
}
Удаление допустимо, см. Документацию по итератору Qt в стиле Qt