Wiki Markup |
---|
Esimerkki, jossa liukupakĺkin arvo viedään Qwtplot:n arvoksi. Toimii qwt versiolla 6.0.1. |
...
{code |
} TARGET = SimulaattoriQwt TEMPLATE = app INCLUDEPATH += /home/koneauto/QtSDK/qwt-6.0.1/src //Kirjoita tähän oikea polku LIBS += -L/home/koneauto/QtSDK/qwt-6.0.1/lib -lqwt //Kirjoita tähän oikea polku SOURCES += main.cpp\ mainwindow.cpp HEADERS += mainwindow.h FORMS += mainwindow.ui {code} {code |
}
#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 MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
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(int Y);
private:
Ui::MainWindow *ui;
};
#endif // MAINWINDOW_H
|
Code Block |
---|
{code} {code} #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; } } {code} |