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

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: Преобразование типов  (Прочитано 3800 раз)
cbp
Гость
« : Май 18, 2009, 19:11 »

С помощью Qwt надо нарисовать график, отсчёты сигнала qint16 Quadr, Coph; я считываю в потоке из файла, а чтобы их прорисовать использую следующую функцию:

Цитировать
void Plot::showData(double *count, double *amplitudeQ, double *amplitudeC)
{
   crvQuadr->setData(count, amplitudeQ, 65535);
   crvCoph->setData(count, amplitudeC, 65535);
   replot();
}

Соответственно вопрос - как преобразовать qint16 в double * ? Или можно обойтись без преобразования?
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #1 : Май 18, 2009, 19:56 »

В setData() передаются массивы точек, которые необходимо отобразить. Ты либо неправильно сформулировал вопрос либо непарвильно используешь curve. Тебе надо сформировать два массива координат точек, по xy осям, и скормить его функции showData().
Записан
cbp
Гость
« Ответ #2 : Май 18, 2009, 20:31 »

Так массив должен быть типа double! Как его из qint16 сформировать?
Записан
Alex Custov
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2063


Просмотр профиля
« Ответ #3 : Май 18, 2009, 21:39 »

Так массив должен быть типа double! Как его из qint16 сформировать?

хранить в атрибутах класса массив double чисел, засовывать туда новые данные по мере их прихода, и передавать его функции showData()? В Qwt есть ещё метод setData с параметрами QwtArray, этот тип наверно должен облегчить хранение массива. Типа

Код
C++ (Qt)
void Class::newData(qint16 i)
{
   arrayX.append(++xPoint);
   arrayY.append((double)i);
 
   // метод принимающий QwtArray
   showData(arrayX, arrayY);
}
 

Ну и следить за размером массива, чтобы он не потолстел излишне...
Записан
cbp
Гость
« Ответ #4 : Май 18, 2009, 22:21 »

Ok Спасибо!
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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