Released version 6.1.3
This commit is contained in:
commit
a94503cb82
1885 changed files with 276310 additions and 0 deletions
202
examples/curvdemo1/curvdemo1.cpp
Normal file
202
examples/curvdemo1/curvdemo1.cpp
Normal file
|
@ -0,0 +1,202 @@
|
|||
|
||||
#include <qwt_scale_map.h>
|
||||
#include <qwt_plot_curve.h>
|
||||
#include <qwt_symbol.h>
|
||||
#include <qwt_math.h>
|
||||
#include <qcolor.h>
|
||||
#include <qpainter.h>
|
||||
#include <qapplication.h>
|
||||
#include <qframe.h>
|
||||
|
||||
//------------------------------------------------------------
|
||||
// curvdemo1
|
||||
//
|
||||
// This example program features some of the different
|
||||
// display styles of the QwtPlotCurve class
|
||||
//------------------------------------------------------------
|
||||
|
||||
|
||||
//
|
||||
// Array Sizes
|
||||
//
|
||||
const int Size = 27;
|
||||
const int CurvCnt = 6;
|
||||
|
||||
//
|
||||
// Arrays holding the values
|
||||
//
|
||||
double xval[Size];
|
||||
double yval[Size];
|
||||
QwtScaleMap xMap;
|
||||
QwtScaleMap yMap;
|
||||
|
||||
class MainWin : public QFrame
|
||||
{
|
||||
public:
|
||||
MainWin();
|
||||
|
||||
protected:
|
||||
virtual void paintEvent( QPaintEvent * );
|
||||
void drawContents( QPainter *p );
|
||||
|
||||
private:
|
||||
void shiftDown( QRect &rect, int offset ) const;
|
||||
|
||||
QwtPlotCurve d_curves[CurvCnt];
|
||||
};
|
||||
|
||||
MainWin::MainWin()
|
||||
{
|
||||
int i;
|
||||
|
||||
xMap.setScaleInterval( -0.5, 10.5 );
|
||||
yMap.setScaleInterval( -1.1, 1.1 );
|
||||
|
||||
//
|
||||
// Frame style
|
||||
//
|
||||
setFrameStyle( QFrame::Box | QFrame::Raised );
|
||||
setLineWidth( 2 );
|
||||
setMidLineWidth( 3 );
|
||||
|
||||
//
|
||||
// Calculate values
|
||||
//
|
||||
for( i = 0; i < Size; i++ )
|
||||
{
|
||||
xval[i] = double( i ) * 10.0 / double( Size - 1 );
|
||||
yval[i] = qSin( xval[i] ) * qCos( 2.0 * xval[i] );
|
||||
}
|
||||
|
||||
//
|
||||
// define curve styles
|
||||
//
|
||||
i = 0;
|
||||
|
||||
d_curves[i].setSymbol( new QwtSymbol( QwtSymbol::Cross, Qt::NoBrush,
|
||||
QPen( Qt::black ), QSize( 5, 5 ) ) );
|
||||
d_curves[i].setPen( Qt::darkGreen );
|
||||
d_curves[i].setStyle( QwtPlotCurve::Lines );
|
||||
d_curves[i].setCurveAttribute( QwtPlotCurve::Fitted );
|
||||
i++;
|
||||
|
||||
d_curves[i].setSymbol( new QwtSymbol( QwtSymbol::Ellipse, Qt::yellow,
|
||||
QPen( Qt::blue ), QSize( 5, 5 ) ) );
|
||||
d_curves[i].setPen( Qt::red );
|
||||
d_curves[i].setStyle( QwtPlotCurve::Sticks );
|
||||
i++;
|
||||
|
||||
d_curves[i].setPen( Qt::darkBlue );
|
||||
d_curves[i].setStyle( QwtPlotCurve::Lines );
|
||||
i++;
|
||||
|
||||
d_curves[i].setPen( Qt::darkBlue );
|
||||
d_curves[i].setStyle( QwtPlotCurve::Lines );
|
||||
d_curves[i].setRenderHint( QwtPlotItem::RenderAntialiased );
|
||||
i++;
|
||||
|
||||
d_curves[i].setPen( Qt::darkCyan );
|
||||
d_curves[i].setStyle( QwtPlotCurve::Steps );
|
||||
i++;
|
||||
|
||||
d_curves[i].setSymbol( new QwtSymbol( QwtSymbol::XCross, Qt::NoBrush,
|
||||
QPen( Qt::darkMagenta ), QSize( 5, 5 ) ) );
|
||||
d_curves[i].setStyle( QwtPlotCurve::NoCurve );
|
||||
i++;
|
||||
|
||||
|
||||
//
|
||||
// attach data
|
||||
//
|
||||
for( i = 0; i < CurvCnt; i++ )
|
||||
d_curves[i].setRawSamples( xval, yval, Size );
|
||||
}
|
||||
|
||||
void MainWin::shiftDown( QRect &rect, int offset ) const
|
||||
{
|
||||
rect.translate( 0, offset );
|
||||
}
|
||||
|
||||
void MainWin::paintEvent( QPaintEvent *event )
|
||||
{
|
||||
QFrame::paintEvent( event );
|
||||
|
||||
QPainter painter( this );
|
||||
painter.setClipRect( contentsRect() );
|
||||
drawContents( &painter );
|
||||
}
|
||||
|
||||
|
||||
//
|
||||
// REDRAW CONTENTS
|
||||
//
|
||||
void MainWin::drawContents( QPainter *painter )
|
||||
{
|
||||
int deltay, i;
|
||||
|
||||
QRect r = contentsRect();
|
||||
|
||||
deltay = r.height() / CurvCnt - 1;
|
||||
|
||||
r.setHeight( deltay );
|
||||
|
||||
//
|
||||
// draw curves
|
||||
//
|
||||
for ( i = 0; i < CurvCnt; i++ )
|
||||
{
|
||||
xMap.setPaintInterval( r.left(), r.right() );
|
||||
yMap.setPaintInterval( r.top(), r.bottom() );
|
||||
|
||||
painter->setRenderHint( QPainter::Antialiasing,
|
||||
d_curves[i].testRenderHint( QwtPlotItem::RenderAntialiased ) );
|
||||
d_curves[i].draw( painter, xMap, yMap, r );
|
||||
|
||||
shiftDown( r, deltay );
|
||||
}
|
||||
|
||||
//
|
||||
// draw titles
|
||||
//
|
||||
r = contentsRect(); // reset r
|
||||
painter->setFont( QFont( "Helvetica", 8 ) );
|
||||
|
||||
const int alignment = Qt::AlignTop | Qt::AlignHCenter;
|
||||
|
||||
painter->setPen( Qt::black );
|
||||
|
||||
painter->drawText( 0, r.top(), r.width(), painter->fontMetrics().height(),
|
||||
alignment, "Style: Line/Fitted, Symbol: Cross" );
|
||||
shiftDown( r, deltay );
|
||||
|
||||
painter->drawText( 0, r.top(), r.width(), painter->fontMetrics().height(),
|
||||
alignment, "Style: Sticks, Symbol: Ellipse" );
|
||||
shiftDown( r, deltay );
|
||||
|
||||
painter->drawText( 0 , r.top(), r.width(), painter->fontMetrics().height(),
|
||||
alignment, "Style: Lines, Symbol: None" );
|
||||
shiftDown( r, deltay );
|
||||
|
||||
painter->drawText( 0 , r.top(), r.width(), painter->fontMetrics().height(),
|
||||
alignment, "Style: Lines, Symbol: None, Antialiased" );
|
||||
shiftDown( r, deltay );
|
||||
|
||||
painter->drawText( 0, r.top(), r.width(), painter->fontMetrics().height(),
|
||||
alignment, "Style: Steps, Symbol: None" );
|
||||
shiftDown( r, deltay );
|
||||
|
||||
painter->drawText( 0, r.top(), r.width(), painter->fontMetrics().height(),
|
||||
alignment, "Style: NoCurve, Symbol: XCross" );
|
||||
}
|
||||
|
||||
int main ( int argc, char **argv )
|
||||
{
|
||||
QApplication a( argc, argv );
|
||||
|
||||
MainWin w;
|
||||
|
||||
w.resize( 300, 600 );
|
||||
w.show();
|
||||
|
||||
return a.exec();
|
||||
}
|
15
examples/curvdemo1/curvdemo1.pro
Normal file
15
examples/curvdemo1/curvdemo1.pro
Normal file
|
@ -0,0 +1,15 @@
|
|||
################################################################
|
||||
# Qwt Widget Library
|
||||
# Copyright (C) 1997 Josef Wilgen
|
||||
# Copyright (C) 2002 Uwe Rathmann
|
||||
#
|
||||
# This library is free software; you can redistribute it and/or
|
||||
# modify it under the terms of the Qwt License, Version 1.0
|
||||
################################################################
|
||||
|
||||
include( $${PWD}/../examples.pri )
|
||||
|
||||
TARGET = curvdemo1
|
||||
|
||||
SOURCES = \
|
||||
curvdemo1.cpp
|
Loading…
Add table
Add a link
Reference in a new issue