h3. Esimerkki Qwt 5.0.1
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
{code}
#------------------------------------------------\-
# 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
{code}
Luokan muodostin
{code}
#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;
}
{code}
Luokan otsikkotiedosto
{code}
#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
{code}
h2.
h3. Esimerkki Qwt 6.0.1
Tee Qt Greatorilla GUI-sovellus (Dialog). Lisää dialogiin QwtPlot objekti valikosta (jos QwtPlot ei näy, niin olet asentanut Qwt:n väärin)
\\
Lisäykset projektitiedostoon#------------------------------------------------\-
{code}
#-------------------------------------------------
#
# Project created by QtCreator 2011-12-14T12:12:07
#
#-------------------------------------------------
QT += core gui
TARGET = qwtHarjoitus
TEMPLATE = app
#lisää kaksi seuraavaa riviä, mutta tarkasta ensin, että polut ovat oikein
INCLUDEPATH += /home/koneauto/QtSDK/qwt-6.0.1/src
LIBS += -L/home/koneauto/QtSDK/qwt-6.0.1/lib -lqwt
SOURCES += main.cpp\
dialog.cpp
HEADERS += dialog.h
FORMS += dialog.ui
{code}
Luokan muodostin
{code}
#include "dialog.h"
#include "ui_dialog.h"
#include <qwt_plot_marker.h>
#include <qwt_legend.h>
#include <qwt_scale_draw.h>
#include <qwt_math.h>
#include <qwt_plot_item.h>
Dialog::Dialog(QWidget *parent) :
QDialog(parent),
ui(new Ui::Dialog)
{
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->setSamples(x, y1, 100);
TokaKurvi->setSamples(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
}
Dialog::~Dialog()
{
delete ui;
delete EkaKurvi;
delete TokaKurvi;
delete ui;
}
{code}
Luokan otsikkotiedosto
{code}
#ifndef DIALOG_H
#define DIALOG_H
#include <QDialog>
#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>
#include <qwt_plot_seriesitem.h>
namespace Ui {
class Dialog;
}
class Dialog : public QDialog
{
Q_OBJECT
public:
explicit Dialog(QWidget *parent = 0);
~Dialog();
private:
Ui::Dialog *ui;
QwtPlot *EkaPlotti;
QwtPlotCurve *EkaKurvi;
QwtPlotCurve *TokaKurvi;
QwtText Kurvi;
int i;
double x[100], y1[100], y2[100];
};
#endif // DIALOG_H
{code}
[Add Labels|viewpage.action?pageId=14159301#] |