QCPGrid Class Reference
Author: Emanuel Eichhammer

· · · ·
Public Functions | Protected Functions
QCPGrid Class Reference

Responsible for drawing the grid of a QCPAxis. More...

Inheritance diagram for QCPGrid:

## Public Functions
| QCPGrid (QCPAxis *parentAxis)
bool | subGridVisible () const
bool | antialiasedSubGrid () const
bool | antialiasedZeroLine () const
QPen | pen () const
QPen | subGridPen () const
QPen | zeroLinePen () const
void | setSubGridVisible (bool visible)
void | setAntialiasedSubGrid (bool enabled)
void | setAntialiasedZeroLine (bool enabled)
void | setPen (const QPen &pen)
void | setSubGridPen (const QPen &pen)
void | setZeroLinePen (const QPen &pen)
Public Functions inherited from QCPLayerable
| QCPLayerable (QCustomPlot *plot, QString targetLayer=QString(), QCPLayerable *parentLayerable=nullptr)
bool | visible () const
QCustomPlot * | parentPlot () const
QCPLayerable * | parentLayerable () const
QCPLayer * | layer () const
bool | antialiased () const
void | setVisible (bool on)
Q_SLOT bool | setLayer (QCPLayer *layer)
bool | setLayer (const QString &layerName)
void | setAntialiased (bool enabled)
virtual double | selectTest (const QPointF &pos, bool onlySelectable, QVariant *details=nullptr) const
bool | realVisibility () const

## Protected Functions
virtual void | applyDefaultAntialiasingHint (QCPPainter *painter) const
virtual void | draw (QCPPainter *painter)
void | drawGridLines (QCPPainter *painter) const
void | drawSubGridLines (QCPPainter *painter) const
Protected Functions inherited from QCPLayerable
virtual void | parentPlotInitialized (QCustomPlot *parentPlot)
virtual QCP::Interaction | selectionCategory () const
virtual QRect | clipRect () const
virtual void | applyDefaultAntialiasingHint (QCPPainter *painter) const =0
virtual void | draw (QCPPainter *painter)=0
virtual void | selectEvent (QMouseEvent *event, bool additive, const QVariant &details, bool *selectionStateChanged)
virtual void | deselectEvent (bool *selectionStateChanged)
virtual void | mousePressEvent (QMouseEvent *event, const QVariant &details)
virtual void | mouseMoveEvent (QMouseEvent *event, const QPointF &startPos)
virtual void | mouseReleaseEvent (QMouseEvent *event, const QPointF &startPos)
virtual void | mouseDoubleClickEvent (QMouseEvent *event, const QVariant &details)
virtual void | wheelEvent (QWheelEvent *event)
void | initializeParentPlot (QCustomPlot *parentPlot)
void | setParentLayerable (QCPLayerable *parentLayerable)
bool | moveToLayer (QCPLayer *layer, bool prepend)
void | applyAntialiasingHint (QCPPainter *painter, bool localAntialiased, QCP::AntialiasedElement overrideElement) const

## Additional Inherited Members
Signals inherited from QCPLayerable
void | layerChanged (QCPLayer *newLayer)

## Detailed Description

Responsible for drawing the grid of a QCPAxis.

This class is tightly bound to QCPAxis. Every axis owns a grid instance and uses it to draw the grid lines, sub grid lines and zero-line. You can interact with the grid of an axis via QCPAxis::grid. Normally, you don't need to create an instance of QCPGrid yourself.

The axis and grid drawing was split into two classes to allow them to be placed on different layers (both QCPAxis and QCPGrid inherit from QCPLayerable). Thus it is possible to have the grid in the background and the axes in the foreground, and any plottables/items in between. This described situation is the default setup, see the QCPLayer documentation.

## Constructor & Destructor Documentation

## ◆ QCPGrid()

QCPGrid::QCPGrid | ( | QCPAxis * | parentAxis | ) |
| explicit

Creates a QCPGrid instance and sets default values.

You shouldn't instantiate grids on their own, since every QCPAxis brings its own QCPGrid.

## Member Function Documentation

## ◆ setSubGridVisible()

void QCPGrid::setSubGridVisible | ( | bool | visible | ) |

Sets whether grid lines at sub tick marks are drawn.

See also
  setSubGridPen

## ◆ setAntialiasedSubGrid()

void QCPGrid::setAntialiasedSubGrid | ( | bool | enabled | ) |

Sets whether sub grid lines are drawn antialiased.

## ◆ setAntialiasedZeroLine()

void QCPGrid::setAntialiasedZeroLine | ( | bool | enabled | ) |

Sets whether zero lines are drawn antialiased.

## ◆ setPen()

void QCPGrid::setPen | ( | const QPen & | pen | ) |

Sets the pen with which (major) grid lines are drawn.

## ◆ setSubGridPen()

void QCPGrid::setSubGridPen | ( | const QPen & | pen | ) |

Sets the pen with which sub grid lines are drawn.

## ◆ setZeroLinePen()

void QCPGrid::setZeroLinePen | ( | const QPen & | pen | ) |

Sets the pen with which zero lines are drawn.

Zero lines are lines at value coordinate 0 which may be drawn with a different pen than other grid lines. To disable zero lines and just draw normal grid lines at zero, set pen to Qt::NoPen.

## ◆ applyDefaultAntialiasingHint()

void QCPGrid::applyDefaultAntialiasingHint | ( | QCPPainter * | painter | ) | const
| protectedvirtual

A convenience function to easily set the QPainter::Antialiased hint on the provided painter before drawing the major grid lines.

This is the antialiasing state the painter passed to the draw method is in by default.

This function takes into account the local setting of the antialiasing flag as well as the overrides set with QCustomPlot::setAntialiasedElements and QCustomPlot::setNotAntialiasedElements.

See also
  setAntialiased

Implements QCPLayerable.

## ◆ draw()

void QCPGrid::draw | ( | QCPPainter * | painter | ) |
| protectedvirtual

Draws grid lines and sub grid lines at the positions of (sub) ticks of the parent axis, spanning over the complete axis rect. Also draws the zero line, if appropriate (setZeroLinePen).

Implements QCPLayerable.

## ◆ drawGridLines()

void QCPGrid::drawGridLines | ( | QCPPainter * | painter | ) | const
| protected

Draws the main grid lines and possibly a zero line with the specified painter.

This is a helper function called by draw.

## ◆ drawSubGridLines()

void QCPGrid::drawSubGridLines | ( | QCPPainter * | painter | ) | const
| protected

Draws the sub grid lines with the specified painter.

This is a helper function called by draw.

The documentation for this class was generated from the following files:

- src/axis/axis.h
- src/axis/axis.cpp