Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум на CrossPlatform.RU _ Qt Общие вопросы _ Преобразование QVector <long int> в double *

Автор: rcdimon 1.11.2009, 23:39

Всем привет.

Очень удобно пользоваться объектом QVector в качестве динамического массива. Использую его для хранения данных, которые потом необходимо отобразить на графике.

объявляю

QVector <long int> xData;
QVector <long int> yData;


Потом в нужной мне функции хочу передать эти данные для построения графика Qwt

Curve->setData(xData,yData,xData.size());


Но он ругается, что нельзя преобразовать QVector в double *
Тогда в голову пришла мысль предварительно копировать все данные оттуда в обычный массив

long int xTemp[xData.size()];

for(long int i; i<xData.size();i++){
   xTemp[i] = xData[i];
}


На что он любезно ответил, что требуется константное значение при объявлении массива.. Выходит все-таки придется делать динамический массив стандартными средствами Си? Я думаю должно быть как-то проще. Как?

Автор: vanner 1.11.2009, 23:49

Что мешает сразу хранить данные в векторе из double?

QVector <double> xData;

И передавать в функцию указатель на данные из вектора так:
Curve->setData(xData.data(),yData.data(),xData.size());

Автор: rcdimon 2.11.2009, 0:00

Ну судя по всему отсутствие опыта ) Спасибо огромное.

Форум Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)