Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

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 MainWindowClassMainWindow; 
}

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;
    }
}