Russian Qt Forum

Qt => Общие вопросы => Тема начата: INZER от Июнь 06, 2022, 21:31



Название: Выборка списка
Отправлено: INZER от Июнь 06, 2022, 21:31
Добрый день, неожиданно столкнулся со следующей тривиальной задачей, безрезультативно отнявшей у меня довольно много времени

Есть QLineEdit в который пользователь вводит текст
Есть заполненный QStringList

Задача такая: при вводе строки в списке должны оставаться только те строки, которые начинаются с уже введеных в строку ввода символов.

Как я понимаю задача просто реализуется с помощью регулярных выражений, но что-то я подтупливаю с ними.
Буду благодарен за посильную помощь.



Название: Re: Выборка списка
Отправлено: INZER от Июнь 06, 2022, 21:36
Как всегда при решении проблемы углубился в дебри, хотя решение на поверхности
QStringList QStringList::filter(const QString &str, Qt::CaseSensitivity cs = Qt::CaseSensitive) const
В принципе метода выше вполне достаточно :)

Однако для общего развития если кто-то подскажет как решить задачу с помощью QRegExp (необходима совместимость с Qt 4.8) буду благодарен.


Название: Re: Выборка списка
Отправлено: sergek от Июнь 06, 2022, 22:07
QRegExp("^строка")

upd:
Код
C++ (Qt)
QStringList filteredList = list.filter(QRegExp("^str"));


Название: Re: Выборка списка
Отправлено: INZER от Июнь 06, 2022, 22:17
Спасибо