Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: idov от Май 30, 2013, 14:04



Название: Если результат операции QString - можно ли сразу же над ней провести операцию?
Отправлено: idov от Май 30, 2013, 14:04
У меня есть сложная информационная строка.
Вначале она делится одним типом разделителей на несколько частей.
Каждая часть другими разделителями делятся на составные части.
Ее тип - QString я делю ее split'ом, получаю QStringList, затем работаю с каждым элементом из списка...
Вопрос такой - нельзя ли, выделив из списка посредством операции .at(i) очередной строки, СРАЗУ ЖЕ дать операцию для этой строки, а то сейчас я делаю так:
QStringList shL = sh.split(".");
QString tmp1 = shL.at(3);
QString p1 = tmp1.left(2);
QString p2 = tmp1.right(3); .....

Нельзя ли вывести р1 и р2 сходу из  shL.at(3) - как-то проведя операцию над результатом "вынимания из листа такой-то строки"?


Название: Re: Если результат операции QString - можно ли сразу же над ней провести операцию?
Отправлено: mutineer от Май 30, 2013, 14:36
QString p1 = shL.at(3).left(2);


Название: Re: Если результат операции QString - можно ли сразу же над ней провести операцию?
Отправлено: idov от Май 30, 2013, 14:47
QString p1 = shL.at(3).left(2);
Спасибо, все так и есть - очевидно, я не решался идти дальше, не видя подсказки, а имея, напротив, красный подчерк редактируемого.
Экстракция содержимого строки полегчала малость.
Еще раз спасибо.


Название: Re: Если результат операции QString - можно ли сразу же над ней провести операцию?
Отправлено: mutineer от Май 30, 2013, 14:50
Только учти, что at() возвращает константную ссылку, поэтому вызывать допустимо только константные методы


Название: Re: Если результат операции QString - можно ли сразу же над ней провести операцию?
Отправлено: idov от Май 30, 2013, 15:11
Только учти, что at() возвращает константную ссылку, поэтому вызывать допустимо только константные методы
Спасибо, все отлично - я сейчас отлаживаю пока имитатор "спецэкстрактора", который должен экстрагировать из некоей общей строки (символьной(!) - в shared memory), собранной несколькими разными программами, сделанной разными людьми...
Каждый мне примерно сообщил - что именно, какой заголовок, чем разделяется, какие значения пишут...
А мне надо все вытащить, перекодировать... ну и что-то перекинуть по сети, что-то вставить в виде QLabel на QWidget...
Просто в нынешнем виде все выглядит более просто и логично. Для будущего сопровождения лучше.