Qwt User's Guide 6.0.0
Public Types | Public Slots | Public Member Functions | Protected Member Functions

QwtAnalogClock Class Reference

An analog clock. More...

#include <qwt_analog_clock.h>

Inheritance diagram for QwtAnalogClock:
Inheritance graph
[legend]

List of all members.

Public Types

enum  Hand {
  SecondHand,
  MinuteHand,
  HourHand,
  NHands
}

Public Slots

void setCurrentTime ()
void setTime (const QTime &=QTime::currentTime())

Public Member Functions

 QwtAnalogClock (QWidget *parent=NULL)
virtual ~QwtAnalogClock ()
virtual void setHand (Hand, QwtDialNeedle *)
const QwtDialNeedlehand (Hand) const
QwtDialNeedlehand (Hand)

Protected Member Functions

virtual QwtText scaleLabel (double) const
virtual void drawNeedle (QPainter *, const QPointF &, double radius, double direction, QPalette::ColorGroup) const
virtual void drawHand (QPainter *, Hand, const QPointF &, double radius, double direction, QPalette::ColorGroup) const

Detailed Description

An analog clock.

analogclock.png
Example
#include <qwt_analog_clock.h>

  QwtAnalogClock *clock = new QwtAnalogClock(...);
  clock->scaleDraw()->setPenWidth(3);
  clock->setLineWidth(6);
  clock->setFrameShadow(QwtDial::Sunken);
  clock->setTime();

  // update the clock every second
  QTimer *timer = new QTimer(clock);
  timer->connect(timer, SIGNAL(timeout()), clock, SLOT(setCurrentTime()));
  timer->start(1000);

  

Qwt is missing a set of good looking hands. Contributions are very welcome.

Note:
The examples/dials example shows how to use QwtAnalogClock.

Member Enumeration Documentation

Hand type

See also:
setHand(), hand()
Enumerator:
SecondHand 

Needle displaying the seconds.

MinuteHand 

Needle displaying the minutes.

HourHand 

Needle displaying the hours.

NHands 

Number of needles.


Constructor & Destructor Documentation

QwtAnalogClock::QwtAnalogClock ( QWidget *  parent = NULL) [explicit]

Constructor

Parameters:
parentParent widget
QwtAnalogClock::~QwtAnalogClock ( ) [virtual]

Destructor.


Member Function Documentation

void QwtAnalogClock::drawHand ( QPainter *  painter,
Hand  hd,
const QPointF &  center,
double  radius,
double  direction,
QPalette::ColorGroup  cg 
) const [protected, virtual]

Draw a clock hand

Parameters:
painterPainter
hdSpecify the type of hand
centerCenter of the clock
radiusMaximum length for the hands
directionDirection of the hand in degrees, counter clockwise
cgColorGroup
void QwtAnalogClock::drawNeedle ( QPainter *  painter,
const QPointF &  center,
double  radius,
double  dir,
QPalette::ColorGroup  colorGroup 
) const [protected, virtual]

Draw the needle.

A clock has no single needle but three hands instead. drawNeedle translates value() into directions for the hands and calls drawHand().

Parameters:
painterPainter
centerCenter of the clock
radiusMaximum length for the hands
dirDummy, not used.
colorGroupColorGroup
See also:
drawHand()

Reimplemented from QwtDial.

QwtDialNeedle * QwtAnalogClock::hand ( Hand  hd)
Returns:
Clock hand
Parameters:
hdSpecifies the type of hand
See also:
setHand()
const QwtDialNeedle * QwtAnalogClock::hand ( Hand  hd) const
Returns:
Clock hand
Parameters:
hdSpecifies the type of hand
See also:
setHand()
QwtText QwtAnalogClock::scaleLabel ( double  value) const [protected, virtual]

Find the scale label for a given value

Parameters:
valueValue
Returns:
Label

Reimplemented from QwtDial.

void QwtAnalogClock::setCurrentTime ( ) [slot]

Set the current time.

This is the same as QwtAnalogClock::setTime(), but Qt < 3.0 can't handle default parameters for slots.

void QwtAnalogClock::setHand ( Hand  hand,
QwtDialNeedle needle 
) [virtual]

Set a clockhand

Parameters:
handSpecifies the type of hand
needleHand
See also:
hand()
void QwtAnalogClock::setTime ( const QTime &  time = QTime::currentTime()) [slot]

Set a time

Parameters:
timeTime to display