1. Subclass QwtSymbol
Qt Code:
  1. class Symbol:public QwtSymbol
  2. {
  3. public:
  4. Symbol(const QBrush &, const QPen &, const QSize & ): QwtSymbol(QwtSymbol::NoSymbol, br, p, sz)
  5. void drawSymbol( QPainter *, const QPointF & ) const
  6. {
  7. painter->setBrush( brush() );
  8. painter->setPen( pen() );
  9.  
  10. const QSize sz = size();
  11. const int sw = sz.width();
  12. const int sh = sz.height();
  13. const int sw2 = sz.width() / 2;
  14. const int sh2 = sz.height() / 2;
  15.  
  16.  
  17. path.moveTo(pos);
  18. path.lineTo(pos.x()-sw2,pos.y()); path.lineTo(pos.x(),pos.y()+sh2); path.lineTo(pos);
  19. painter->drawPath(path);
  20. }
  21. };
To copy to clipboard, switch view to plain text mode 


2.Subclass QwtPlotMarker
Qt Code:
  1. class Marker:public QwtPlotMarker
  2. {
  3. public:
  4. Marker():QwtPlotMarker(){}
  5. void drawAt( QPainter *, const QRectF &, const QPointF & ) const
  6. {
  7. symbol().drawSymbol(painter, pos);
  8. QwtPlotMarker::drawAt(painter, rect, pos);
  9. }
  10. };
To copy to clipboard, switch view to plain text mode 


3. instantiate and use
........
Qt Code:
  1. Marker *mrk = new Marker();
  2. mrk->setLinePen(QPen(Qt::black, 0, Qt::DashDotLine));
  3. mrk->setLineStyle(QwtPlotMarker::HLine);
  4. mrk->setSymbol(new Symbol(QColor(Qt::yellow), QColor(Qt::green), QSize(15,15)));
  5. mrk->setValue(10.0,10.0);
To copy to clipboard, switch view to plain text mode 
............

Problem I face:while the marker is displayed fine, symbol is not drawn...