Russian Qt Forum
Март 29, 2024, 08:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Изменение элементов контейнеров  (Прочитано 2040 раз)
Bolonat
Чайник
*
Offline Offline

Сообщений: 56


Qt Creator 4.5.0 на Qt 5.10.0 (W10 x64) MinGW 5.3.


Просмотр профиля
« : Август 10, 2017, 12:30 »

   Читаю текстовый файл. Каждая строка файла содержит некоторые значения через запятую. N-ое значение относится к n-му каналу. Надо разнести значения по каналам.
         
Код:
QStringList lWordsList = row.split ( ",", QString::SkipEmptyParts );
           for(int j=0;j<lWordsList.size();j++)
           {
                   CChannel ch=(CChannel)channelList[j] ;//Здесь создается копия элемента CChannel
                   double val=lWordsList[j].toDouble();
                   ch.valueList.insert(dt,val);
                   channelList[j]=ch;//пытаюсь внести изменения в список и здесь программа начинает дико тормозить
           }
   row - очередная строка из файла. QMap<int, CChannel> channelList - список каналов CChannel. У CChannel есть список значений QMap <QDateTime, double> valueList. Когда пишу
 
Код:
CChannel ch=(CChannel)channelList[j];
   оказывается создается копия  элемента CChannel, и все, что я делаю с этой копией никак не влияет на реальный элемент  в списке каналов channelList. Поэтому после всех изменений копии, присваиваю ее j-му  элементу списка. Все вроде работает, но проблема в том, что на операторе 
Код:
channelList[j]=ch;

программа начинает дико тормозить. Без этого оператора 10-мегабайтный файл считывается за 3 сек, с этим оператором - счет идет на часы. Как решить проблему? Как внести изменения в элемент напрямую? Или что-то еще?
             
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #1 : Август 10, 2017, 12:41 »

CChannel & ch = ..
Записан
Bolonat
Чайник
*
Offline Offline

Сообщений: 56


Qt Creator 4.5.0 на Qt 5.10.0 (W10 x64) MinGW 5.3.


Просмотр профиля
« Ответ #2 : Август 10, 2017, 12:48 »

CChannel & ch = ..
Спасибо! Улыбающийся
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.049 секунд. Запросов: 22.