#ifndef SPECTRUMWIDGET_H #define SPECTRUMWIDGET_H #include #include #include class SpectrumWidget : public QWidget { Q_OBJECT public: explicit SpectrumWidget(int barCount = 12, QWidget* parent = nullptr); void updateLevels(const QVector& levels); void reset(); protected: void paintEvent(QPaintEvent* event) override; private: int _barCount; QVector _current; QVector _peak; QTimer* _decayTimer = nullptr; }; #endif