Tee Qt Greatorilla GUI-sovellus (Window tai Dialog). Lisää dialogiin QwtPlot objekti valikosta (jos QwtPlot ei näy, niin olet asentanut Qwt:n väärin)
Lisäykset projektitiedostoon
#------------------------------------------------\- # Project created by QtCreator 2009-11-05T17:16:56 #------------------------------------------------\- TARGET = SimulaattoriQwt TEMPLATE = app #lisää kaksi seuraavaa riviä, mutta tarkasta ensin, että polut ovat oikein INCLUDEPATH += /usr/include/qwt-qt4 # usr/lib hakemistosta pitää löytyä kirjasto qwt-qt4 -l on kirjastolippu LIBS += -L/usr/lib -lqwt-qt4 SOURCES += main.cpp mainwindow.cpp HEADERS += mainwindow.h FORMS += mainwindow.ui
Luokan 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 "mainwindow.h" #include "ui_mainwindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(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<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); TokaKurvi->attach(ui-> EkaqwtPlot);//liitetään käppyrät plotatavaan alueeseen EkaKurvi->attach(ui-> EkaqwtPlot); ui-> EkaqwtPlot->setTitle(Kurvi);// laitetaan plotatavalle alueelle nimi ui-> EkaqwtPlot->replot(); //piirretään //muut alustukset } MainWindow::~MainWindow() { delete EkaKurvi; delete TokaKurvi; delete ui; }
Luokan otsikkotiedosto
#ifndef MAINWINDOW_H #define MAINWINDOW_H #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 MainWindow; } class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget *parent = 0); ~MainWindow(); private: Ui::MainWindow *ui; QwtPlot *EkaPlotti; QwtPlotCurve *EkaKurvi; QwtPlotCurve *TokaKurvi; QwtText Kurvi; int i; double x[100], y1[100], y2[100]; }; #endif // MAINWINDOW_H