QtIndustrialWidgets 2.3.0
Modern, High-Performance Industrial Instruments & SCADA Widgets for Qt
Loading...
Searching...
No Matches
QtIndustrialWidgets::StripChart Class Reference

Real-time multi-channel scrolling oscilloscope and strip chart recorder. More...

#include <StripChart.h>

Inheritance diagram for QtIndustrialWidgets::StripChart:

Detailed Description

Real-time multi-channel scrolling oscilloscope and strip chart recorder.

StripChart provides high-performance scrolling telemetry waveform visualization for industrial test benches, SCADA systems, and embedded monitoring.

Features include:

  • O(1) circular ring buffer storage per channel avoiding memory allocations during streaming.
  • Sub-millisecond rendering with Hi-DPI cached background reticle grid and bezel.
  • Manual Y-range bounds or dynamic smooth auto-scaling.
  • Multi-channel legend overlay with live telemetry readouts.
  • Real-time axis (std::chrono::nanoseconds) and M4 min/max decimation to one bucket per device-pixel column (measured paint times: docs/benchmarks.md).

Fonts: the texts use the widget font (setFont(), style sheets) at sizes derived from the widget geometry and scaled by the ratio between the effective pixel sizes of the widget font and of the application font, so a larger widget font gives larger texts (the application font: unchanged). The room kept for the axis labels and the legend (plot margins) grows with it.

auto *chart = new StripChart(parent);
chart->setCapacity(1000000);
chart->setXAxisMode(StripChart::XAxisMode::Time);
chart->setTimeSpan(std::chrono::seconds(10));
int ch1 = chart->addChannel("Torque", Qt::cyan);
chart->addSample(ch1, std::chrono::nanoseconds(1000000), 45.2);
Real-time multi-channel scrolling oscilloscope and strip chart recorder.
Definition StripChart.h:55

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