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: #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 }