Let's further extend our widget to become a simple oscillogram renderer. For that, we have to make the widget remember a set of values and draw them as a series of lines.
Let's start by adding a QVector<quint16> member variable that holds a list of unsigned 16-bit integer values. We will also add slots for adding values to the list and for clearing the list, as shown:
class Widget : public QWidget { // ... public slots: void addPoint(unsigned yVal) { m_points << qMax(0u, yVal); update(); } void clear() { m_points.clear(); update(); } protected: // ... QVector<quint16> m_points; };
Note that each modification of the list invokes a method called update(). This schedules a paint event so that our widget ...