1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61
| #include <qapplication.h>
#include <qpainter.h>
#include <qwt_math.h>
#include <qwt_symbol.h>
#include <qwt_curve_fitter.h>
#include "curv.h"
//
// CONSTRUCT MAIN WINDOW
//
curv::curv(int size, int xmin, int xmax, int ymin, int ymax, double *xval, double *yval, int ms, Population &population): QFrame(),pop(population)
{
this->Size=size;
this->xval=new double [size];
this->yval=new double [size];
setFrameStyle(QFrame::Box|QFrame::Raised);
setLineWidth(2);
setMidLineWidth(3);
const QColor bgColor(30,30,50);
QPalette p = palette();
p.setColor(backgroundRole(), bgColor);
setPalette(p);
QwtSplineCurveFitter* curveFitter;
xMap.setScaleInterval(xmin, xmax);
yMap.setScaleInterval(ymin, ymax);
curve.setPen(QPen(QColor(150,150,200),2));
curve.setStyle(QwtPlotCurve::NoCurve);
curve.setCurveAttribute(QwtPlotCurve::Fitted, true);
curveFitter = new QwtSplineCurveFitter();
curveFitter->setSplineSize(150);
curve.setCurveFitter(curveFitter);
QwtSymbol sym;
sym.setStyle(QwtSymbol::XCross);
sym.setPen(QPen(Qt::yellow,2));
sym.setSize(7);
curve.setSymbol(sym);
for (int i=0; i<Size; i++)
{
this->xval[i]=xval[i];
this->yval[i]=yval[i];
}
curve.setRawData(this->yval,this->xval,Size);
if (!QObject::connect(pop, SIGNAL(mort()),this, SLOT(repain()))){qDebug("erreur de connection entre pop.mort() et repain()");}
if (QObject::connect(pop,SIGNAL(naissance()), this, SLOT(repain()))){qDebug("erreur de connection entre pop.naissance() et repain()");}
//newValues();
//
// start timer
//
// (void)startTimer(ms);
} |
Partager