1 #include <qwt_dial.h> 2 #include <qwt_dial_needle.h> 3 4 class AttitudeIndicatorNeedle: public QwtDialNeedle 5 { 6 public: 7 AttitudeIndicatorNeedle( const QColor & ); 8 9 protected: 10 virtual void drawNeedle( QPainter *, 11 double length, QPalette::ColorGroup ) const; 12 }; 13 14 class AttitudeIndicator: public QwtDial 15 { 16 Q_OBJECT 17 18 public: 19 AttitudeIndicator( QWidget *parent = NULL ); 20 angle()21 double angle() const { return value(); } gradient()22 double gradient() const { return d_gradient; } 23 24 public Q_SLOTS: 25 void setGradient( double ); setAngle(double angle)26 void setAngle( double angle ) { setValue( angle ); } 27 28 protected: 29 virtual void keyPressEvent( QKeyEvent * ); 30 31 virtual void drawScale( QPainter *, 32 const QPointF ¢er, double radius ) const; 33 34 virtual void drawScaleContents( QPainter *painter, 35 const QPointF ¢er, double radius ) const; 36 37 private: 38 double d_gradient; 39 }; 40