Название: Qwt график Отправлено: Петр91 от Июнь 10, 2011, 04:45 Здравствуйте, не могу разобраться с классом в qwt! Пример идет с qwt. Проблема такая. Есть класс
Код: class FunctionData: public QwtSyntheticPointData И часть кода Код: QwtPlotCurve *cSin = new QwtPlotCurve("y = sin(x)"); Название: Re: Qwt график Отправлено: Петр91 от Июнь 11, 2011, 16:11 Народ помогите! НУ чтоб разделить я уже догадся что можно два класса сделать, а как сделать просто параболу? без синусов и других функций
Название: Re: Qwt график Отправлено: m_ax от Июнь 11, 2011, 16:51 Странный вопрос. Наверное просто написать свою функцию - параболу.
Код
Название: Re: Qwt график Отправлено: Петр91 от Июнь 12, 2011, 11:48 Спасибо! Но я не могу разобраться с виртуальной функцией.
Код: class Parabola: public QwtSyntheticPointData Вот вы создаете наследованный класс, а потом виртуальная функция! Объясните пожалуйста как работает дальше класс.. и как создать элемент класса setData->(new Parabola(что здесь)); P.S. не пинайте нуба Название: Re: Qwt график Отправлено: m_ax от Июнь 12, 2011, 11:56 С Qwt я плохо знаком, но могу предположить, что нужно делать как то так:
Код
где Parabola: Код
Название: Re: Qwt график Отправлено: Петр91 от Июнь 14, 2011, 07:45 Аааааааа!!! Спасибо большущее!! Вы не представляете как помогли студенту в неделю холодной сессии :) Мне нехватило знаний разобраться в классе, можете объяснить пару моментов?
const double &a = 1.0, const double &b = 0.0, const double &c = 0.0 - что это строчка значит? Как я понял это те переменные которые будут передаваться в функцию, но что за цифры и зачем знак амперсанта? m_a(a), m_b(b), m_c(c) - что это за объявления и почему напрямую нельзя было написать a*x*x+... Название: Re: Qwt график Отправлено: m_ax от Июнь 14, 2011, 12:10 const double &a = 1.0, const double &b = 0.0, const double &c = 0.0 - что это строчка значит? Как я понял это те переменные которые будут передаваться в функцию, но что за цифры и зачем знак амперсанта? Это означает, передачу значений по константной ссылки. В противном случае, будет создана внутренняя копия переменной, передаваемой через аргумент функции. Для типа double, наверное нет особой разницы как писать:m_a(a), m_b(b), m_c(c) - что это за объявления и почему напрямую нельзя было написать a*x*x+... Код
или просто Код Но если тип будет по-жирнее, то лучше использовать передачу по ссылке. Числа - это значения по умолчанию. И вообще, всё это есть в любом учебнике по c++, практически в первых главах.. Название: Re: Qwt график Отправлено: tiiL от Июнь 16, 2011, 16:06 Для изучения QWT построения графиков взял пример Bode, и попытался его разобрать: тоесть реализовать только файлы plot.cpp и plot.h и сделал это я это в ппроекте вложенном в сообщение.
а проблема в том что выдает кучу ошибок, наругайте меня чего я не так делаю. ошибки вот: debug/plot.o: In function `Plot': E:\QWTproject\QWTplotter/plot.cpp:37: undefined reference to `vtable for Plot' E:\QWTproject\QWTplotter/plot.cpp:37: undefined reference to `vtable for Plot' E:\QWTproject\QWTplotter/plot.cpp:37: undefined reference to `vtable for Plot' E:\QWTproject\QWTplotter/plot.cpp:97: undefined reference to `Plot::setDamp(double)' E:\QWTproject\QWTplotter/plot.cpp:37: undefined reference to `vtable for Plot' E:\QWTproject\QWTplotter/plot.cpp:37: undefined reference to `vtable for Plot' E:\QWTproject\QWTplotter/plot.cpp:37: undefined reference to `vtable for Plot' E:\QWTproject\QWTplotter/plot.cpp:97: undefined reference to `Plot::setDamp(double)' collect2: ld returned 1 exit status mingw32-make[1]: *** [debug\QWTplotter.exe] Error 1 mingw32-make: *** [debug] Error 2 Процесс "C:/Qt/2010.05/mingw/bin/mingw32-make.exe" завершился с кодом %2. Возникла ошибка при сборке проекта QWTplotter (цель: Настольный компьютер) Во время выполнения сборки на этапе "Сборка" Название: Re: Qwt график Отправлено: m_ax от Июнь 16, 2011, 17:04 Ну как минимум нужно реализовать функцию
Код раз уж она объявлена. Название: Re: Qwt график Отправлено: tiiL от Июнь 16, 2011, 22:55 Ну как минимум нужно реализовать функцию Код раз уж она объявлена. ВРоде она реализовываетца в СРР файле Название: Re: Qwt график Отправлено: m_ax от Июнь 16, 2011, 23:28 Ну как минимум нужно реализовать функцию Код раз уж она объявлена. ВРоде она реализовываетца в СРР файле Название: Re: Qwt график Отправлено: tiiL от Июнь 17, 2011, 07:45 Ну как минимум нужно реализовать функцию Код раз уж она объявлена. ВРоде она реализовываетца в СРР файле всё раскоментировал, добавил файл комплекс.h, все ошибки убрались, НО когда запускаю программу то кроме пустого окошка виджет ничего не выводитца. Или в чем моя ошибка? PS: не могу выложить файл zip с проектом так как он больше 500КБ Название: Re: Qwt график Отправлено: alex312 от Июнь 17, 2011, 08:15 PS: не могу выложить файл zip с проектом так как он больше 500КБ сделайте очистку проекта ( make clean или mingw32-make clean ) Название: Re: Qwt график Отправлено: tiiL от Июнь 17, 2011, 08:44 1-ое: я правильно понимаю что надо "сделать сборка" -> "очистить проект "название проекта""? если так то ничего не меняется.
2-ое: что насчет проекта то. в чем моя ошибка? помогите плииз Название: Re: Qwt график Отправлено: alex312 от Июнь 17, 2011, 10:48 Ошибка в том, что вы не добавили Plot на MainWindow
Название: Re: Qwt график Отправлено: tiiL от Июнь 17, 2011, 13:56 Ошибка в том, что вы не добавили Plot на MainWindow Спасибо за помощь... Ваш файл который вы мне скинули немножко подправил: 1. добавил complexnumber.h; 2. расскомментрировал все коменты. так же раскоментировал ссылки на библиотеки свои; 3. закоментрировал строчку #include( ./qwt6.pri ); Теперь рисует всё что нужно рисует, но теперь понять что нужно сделать чтоб он строил график. Название: Re: Qwt график Отправлено: alex312 от Июнь 17, 2011, 14:58 Код
Название: Re: Qwt график Отправлено: tiiL от Июнь 20, 2011, 13:45 Спасибо огромное запомощь, очень вё хорошо работает... но возникли вопросы:
1-ый: вот код Код ругается на "toolBar" "print_xpm", хотя библиотеки к ним прописал вот так: Код почему ругается? 2-ое: Код
очень все помогло, но я так понимаю это просто точки котоыре рисуются на координатных осях(декартовых), а если рисовать для логарифмических осей какие нужны значения(извеняюсь: чисто за математику...). 3-ие(ради интереса): в примере bode, есть файл pixmaps.h что он делает расскажите пожалуйста... премного благодарен. |