Esimerkki, jossa liukupakĺkin arvo viedään Qwtplot:n arvoksi. Toimii qwt versiolla 6.0.1.
Code Block |
---|
TARGET = SimulaattoriQwt TEMPLATE = app INCLUDEPATH += /home/usrkoneauto/includeQtSDK/qwt-qt46.0.1/src //Kirjoita tähän oikea polku LIBS += -L/usr/home/koneauto/QtSDK/qwt-6.0.1/lib -lqwt-qt4 //Kirjoita tähän oikea polku SOURCES += main.cpp\ mainwindow.cpp HEADERS += mainwindow.h FORMS += mainwindow.ui |
Code Block |
---|
#ifndef MAINWINDOW_H #define MAINWINDOW_H #include <QMainWindow> #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> #include <QTimer> namespace Ui { class MainWindowClass class MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); private: Ui::MainWindowClass *ui; QwtPlot *EkaPlotti; QwtPlotCurve *EkaKurvi; QwtText Kurvi; QwtText Y_Akseli; QwtText X_Akseli; QTimer *timer;//osoitin ajastimeen int Arvo; int indeksi; int EdellinenY; double x[10000],y[10000]; private slots: void PiirraPlotiin(doubleint Y); private: void update(); Ui::MainWindow *ui; }; #endif // MAINWINDOW_H |
Code Block |
---|
#include "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : : QMainWindow(parent), ui(new Ui::MainWindowClassMainWindow) { 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(doubleint)),this, SLOT(PiirraPlotiin(doubleint))); 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(doubleint Y) { if((int)Y != EdellinenY) { x[indeksi]=(doubleint)indeksi; y[indeksi]=Y; EkaKurvi->setData>setSamples(x, y, indeksi);//laitetaan data käppyriin ui-> qwtPlot->replot(); //piirretään indeksi++; if(indeksi>9999)indeksi=0; EdellinenY=(int)Y; } } |