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)
...
Code Block |
---|
#------------------------------------------------\- # 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 Block |
---|
#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-> EkaqwtPlotekaQwtPlot->setTitle(Kurvi);// laitetaan plotatavalle alueelle nimi ui-> EkaqwtPlotekaQwtPlot->replot(); //piirretään //muut alustukset } MainWindow::~MainWindow() { delete EkaKurvi; delete TokaKurvi; delete ui; } |
Luokan otsikkotiedosto
Code Block |
---|
#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
|
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 Block |
---|
#-------------------------------------------------
#
# 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
|
Luokan muodostin
Code Block |
---|
#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;
}
|
Luokan otsikkotiedosto
Code Block |
---|
#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 |