Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Wiki Markup
[Qt|http://qt.nokia.com/] on alunperin Trolltechin tekemä käyttöliittymien totetukseen tarkoitettu työkalu. Qt-ympäristö on nykyään Nokia Oy:n omistuksessa.

...

Qwt on Qt - kirjasto teknisiin sovelluksiin. Kun Qwt on ladattu koneelle, käyttöliittymä valikossa näkyvät Qwt:n graafiset komponentit. Jotta kirjastofunktioita voitaisiin käyttää, täytyy projektille kertoa Qwt-otsikkotiedostojen polku INCLUDEPATH makron avulla ja Qwt kirjastot on lisättävä LIBS makrolla, kuten alla olevassa esimerkissä on näytetty. Kannattaa tarkastaa polut omalta koneelta, jotta ei pala tupakkaa tai tule harmaita hiuksia.

Code Block


[Qwt|http://qwt.sourceforge.net/] on Qt - kirjasto teknisiin sovelluksiin. Kun Qwt on ladattu koneelle, käyttöliittymä valikossa näkyvät Qwt:n graafiset komponentit. Jotta kirjastofunktioita voitaisiin käyttää, täytyy projektille kertoa Qwt-otsikkotiedostojen polku INCLUDEPATH makron avulla ja Qwt kirjastot on lisättävä LIBS makrolla, kuten alla olevassa esimerkissä on näytetty. Kannattaa tarkastaa polut omalta koneelta, jotta ei pala tupakkaa tai tule harmaita hiuksia.

[Apuja Qwt-ohjelmointiin|http://docs.huihoo.com/qwt/index.html]

{code}
#-------------------------------------------------
# Project created by QtCreator 2009-11-05T17:16:56
#-------------------------------------------------
TARGET = SimulaattoriQwt
TEMPLATE = app
INCLUDEPATH += /usr/include/qwt-qt4
LIBS += -L/usr/lib -lqwt-qt4
SOURCES += main.cpp\
        mainwindow.cpp
HEADERS  += mainwindow.h
FORMS    += mainwindow.ui
{code}

{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->setAxisTitle(1,Kurvi);
    ui-> EkaqwtPlot->setTitle(Kurvi);// laitetaan plotatavalle alueelle nimi
    ui-> EkaqwtPlot->replot(); //piirretään
    // m_Grid = new QwtPlotGrid();
    // m_Grid->attach(ui->EkaqwtPlot);
    //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