Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Code Block
Header:

 #ifndef DIALOG_H
#define DIALOG_H
#include <QtGui/QDialog>
#include <QTimer>
#include <QtGui/QMainWindow>
#include <qwt_plot_marker.h>
#include <qwt_legend.h>
#include <qwt_scale_draw.h>
#include <qwt_math.h>
#include <qwt_plot_item.h>
#include <qwt_plot_curve.h>
#include <qwt_text.h>

namespace Ui
{
    class Dialog;
}

class Dialog : public QDialog
{
    Q_OBJECT

public:
    Dialog(QWidget *parent = 0);
    ~Dialog();
private slots:

void update();
void PaivitaNappiX(double);
void PaivitaNappiY(double);

private:
    Ui::Dialog *ui;
    QTimer *timer;
    int Arvo;
    QwtPlot *EkaPlotti;
QwtPlotCurve *EkaKurvi;
QwtPlotCurve *TokaKurvi;
QwtText Kurvi;
int i;
double x[1000], y1[1000], y2[1000];
double arvox;
double arvoy;

};

#endif // DIALOG_H


Muodostin:


p, li { white-space: pre-wrap; }
#include <qwt_plot_marker.h>

#include <qwt_legend.h>

#include <qwt_scale_draw.h>

#include <qwt_math.h>

#include <qwt_plot_item.h>




#include "dialog.h"

#include "ui_dialog.h"




Dialog::Dialog(QWidget *parent)

    : QDialog(parent), ui(new Ui::Dialog)

{

    ui->setupUi(this);

    timer = new QTimer(this);




    //piirrellään vähän kuvia

Kurvi.setText("Eka kuva");

EkaKurvi  = new QwtPlotCurve();

TokaKurvi = new QwtPlotCurve();

EkaKurvi->setPen(QPen(Qt::red));

TokaKurvi->setPen(QPen(Qt::blue));

for(i=0;i<1000;i++){ x[i]=i; y1[i]=i; y2[i]=1000-i;}//luodaan vähän dataa

EkaKurvi->setData(x, y1, 1000);//laitetaan data käppyriin

//TokaKurvi->setData(x, y2, 100);

//TokaKurvi->attach(ui-> EkaqwtPlot);//liitetään käppyrät plotattavaan alueeseen

EkaKurvi->attach(ui-> EkaqwtPlot);

ui-> EkaqwtPlot->setTitle(Kurvi);// laitetaan plotatavalle alueelle nimi

ui-> EkaqwtPlot->replot(); //piirretään

//muut alustukset

ui->Knob_X->setRange(0,1000,10,10);

ui->Knob_Y->setRange(0,1000,10,10);







connect(ui->Knob_X,SIGNAL(valueChanged(double)),this,SLOT(PaivitaNappiX(double)));

connect(ui->Knob_Y,SIGNAL(valueChanged(double)),this,SLOT(PaivitaNappiY(double)));







    connect(timer,SIGNAL(timeout()), this, SLOT(update()));




    timer->start(1000); //käynnistä ajastin, timeout sekunnin välein




    Arvo=0;

}




Dialog::~Dialog()

{

    delete ui;

}







void Dialog::update()

{

    Arvo++;

    ui->dial->setValue(Arvo);




}




void Dialog::PaivitaNappiX(double arvo)

{

 int i;

 arvox=arvo;

 //for(i=0;i<100;i++)

 //x[i]=i; y1[i]=i; y2[i]=100-i;//luodaan vähän dataa




//EkaKurvi->setData(x, y1, 100);//laitetaan data käppyriin




//TokaKurvi->setData(x, y2, 100);







}







void Dialog::PaivitaNappiY(double arvo)

{

 arvoy=arvo;







  y1[(int) arvox]=(int) arvoy;  //luodaan vähän dataa




EkaKurvi->setData(x, y1, 1000);//laitetaan data käppyriin




EkaKurvi->attach(ui-> EkaqwtPlot);

ui-> EkaqwtPlot->replot(); //piirretään




}