Esimerkki, jossa liukupakĺkin arvo viedään Qwtplot:n arvoksi. Toimii qwt versiolla 6.0.1.
Code Block |
---|
TARGET = SimulaattoriQwt TEMPLATE = app INCLUDEPATH += /usr/include/qwt-qt4 LIBS += -L/usr/lib -lqwt-qt4 SOURCES += main.cpp\ mainwindow.cpp HEADERS += mainwindow.h FORMS += mainwindow.ui |
...
Code Block |
---|
#include "mainwindow.h"
#include "ui_mainwindow.h"
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
timer = new QTimer(this);//luo uusi ajastin
ui->Slider->setRange(0,100);
//ui->Slider->setRange(0,100,1,1);
connect(ui->Slider, SIGNAL(valueChanged(int)),this, SLOT(PiirraPlotiin(int)));
Kurvi.setText("Eka kuva");
Y_Akseli.setText("Y-akseli");
X_Akseli.setText("X-akseli");
EkaKurvi = new QwtPlotCurve();//new luo kekoon (heap) uuden muuttujan tilavarauksen
EkaKurvi->setPen(QPen(Qt::red));
EkaKurvi->attach(ui->qwtPlot);
ui->qwtPlot->setAxisTitle(0,Y_Akseli);
ui->qwtPlot->setAxisTitle(2,X_Akseli);
indeksi=0;
EdellinenY=0;
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::PiirraPlotiin(int Y)
{
if((int)Y != EdellinenY)
{
x[indeksi]=(int)indeksi;
y[indeksi]=Y;
EkaKurvi->setSamples(x,y, indeksi);//laitetaan data käppyriin
ui-> qwtPlot->replot(); //piirretään
indeksi++;
if(indeksi>9999)indeksi=0;
EdellinenY=(int)Y;
}
}
|