|
QtIndustrialWidgets 2.3.0
Modern, High-Performance Industrial Instruments & SCADA Widgets for Qt
|
One section per widget: what it shows, its main properties and how it is driven. All classes live in namespace QtIndustrialWidgets (short alias qiw). The images are the gallery showcases (--export-gallery, dark theme, see gallery_images.md). The colour properties of each widget are listed in theming.md; the complete API is in the class documentation.

Circular gauge for speed, pressure, temperature and similar values (qiw::RadialGauge).
startAngle and spanAngle set the arc, for example 270°, 240° or 180°.majorTicks and minorTicks, with numeric labels at the major ticks.warningThreshold and errorThreshold, shown as coloured arc bands (thresholdBandsVisible); warningExceeded(bool) and errorExceeded(bool) report crossings.digitalDisplayVisible), with precision and unit; it is sized and placed clear of the scale labels.
Bar gauge and thermometer (qiw::LinearGauge).
Qt::Vertical or Qt::Horizontal.thermometerMode): a bulb at the bottom (vertical) or on the left (horizontal); otherwise a plain bar.liquidColor), following the warning and error thresholds (dynamicLiquidColor), or a gradient fill (gradientLiquid).scaleVisible), optional digital display with precision and unit.
Vector seven-segment display for numeric readouts (qiw::SevenSegmentDisplay).
digitCount, decimalPlaces, showLeadingZeros, showDecimalPoint; a value that rounds to zero is shown without a minus sign.skewAngle (italic slant) and segmentWidthRatio (segment thickness).activeSegmentColor for lit segments and inactiveSegmentColor for unlit ones.setText()): digits, -, _, =, space and the letter patterns A, b, C, c, d, E, F, H, L, o, P, r, U. Upper- and lower-case input give the same pattern, except C/c (two patterns) and r (lower case only); any other character is shown blank.
LED indicator lamp (qiw::LedIndicator).
LedShape::Circular or LedShape::Rectangular, with an optional bezel (bezelVisible) and glow (glowEffect).on, with toggle(), and blinking (blinking) at blinkRateMs.labelText, drawn in textColor (or the palette's window text colour when textColor is not set).clickable), emitting clicked().
Rotary knob (qiw::IndustrialKnob).
KnobMode::Continuous (any value in the range, with step) or KnobMode::Discrete (discreteSteps positions, for selectors).startAngle and spanAngle, major and minor ticks with labels, an active track (trackVisible) and a value display (valueDisplayVisible).
Live, scrolling multi-channel chart for acquisition data (qiw::StripChart). Guide: strip_chart.md.
std::chrono::nanoseconds timestamps, 1-2-5 tick steps, labels relative (-10 s … 0 s) or absolute wall-clock time (HH:mm:ss.zzz); a sample-index axis is also available.gapThreshold (default: 4 × an exponential moving average of the sampling interval).legendVisible).
Toggle or rocker switch (qiw::IndustrialSwitch).
SwitchType::ToggleLever or SwitchType::Rocker.labelOff / labelOn) or 3 (labelOff / labelCenter / labelOn), via positionCount.hasSafetyGuard) that has to be opened (guardOpen, guardToggled(bool)) before the switch can be operated.Qt::Vertical or Qt::Horizontal.hasLed), animated movement (animated), mouse click and drag, and the keys Space, Return and the arrows.
Multi-channel level meter (qiw::LevelMeter).
channelCount), with labels (setChannelLabels()).DisplayMode::Segmented (LED segments, segmentCount) or DisplayMode::Continuous (bar).warningThreshold and errorThreshold; overloadOccurred(int) reports a channel entering the error zone.peakHoldEnabled), held for peakHoldTimeMs, then falling at peakDecayRate units per second.scaleVisible) with a unit such as dB.
Alarm annunciator grid following the ISA-18.1 sequences A and M (qiw::AnnunciatorPanel).
rows × columns tiles, each with a text and a severity (Severity::Critical, Warning or Advisory).SequenceA_AutomaticReset and SequenceM_ManualReset, with the states Normal, Unacknowledged (fast flash), Acknowledged (steady) and Ringback (slow flash).acknowledge() / acknowledgeAll(), silence(), reset() / resetAll() and setLampTest(); audibleHornChanged(bool) reports the horn state. Clicking an unacknowledged tile acknowledges it (tileClicked(int)).
Heading indicator (qiw::Compass).
DisplayMode::HeadingUp (the card rotates with the heading) or DisplayMode::NorthUp (fixed card, rotating needle).targetHeading), optionally set with the mouse (headingBugInteractive); the difference from the heading is courseDeviation.lubberLineVisible) and digital heading readout (digitalReadoutVisible).
Bargraph of curved segments on an arc (qiw::CircularBargraph).
DisplayMode::Bar (segments lit up to the value) or DisplayMode::Dot (one segment).startAngle and spanAngle (e.g. 180°, 270° or 360°), segmentCount segments.ghostColor. The setters keep warningThreshold <= errorThreshold.peakHoldTimeMs, then decaying at peakDecayRate.precision and unit.valueState() reports Valid, Underrange, Overrange or Invalid. Out-of-range inputs (including ±Inf) are shown at the range bound with the end segment blinking and a < / > readout; a NaN input is shown as Invalid (all segments unlit, readout ---). rawValue() keeps the unclamped input.
Offline review of recorded multi-channel data (qiw::AnalysisChart). Guide: analysis_chart.md.
std::chrono::nanoseconds timestamps and double values, at different or irregular rates; decreasing timestamps are rejected and the previous data kept.setChannelData() (at most 2.125 bytes per sample on top of the 16 of the data) supplies the buckets.