|
QtIndustrialWidgets 2.3.0
Modern, High-Performance Industrial Instruments & SCADA Widgets for Qt
|
A C++17 widget library for Qt Widgets with 12 instrumentation widgets — gauges, displays, indicators, switches, an alarm annunciator, a live strip chart and an offline analysis chart — for test benches, SCADA and telemetry applications.
| Widget | Showcase |
|---|---|
RadialGauge0–8000 RPM, needle in the warning zone | |
LinearGaugeThermometer mode, 0–120 °C | |
SevenSegmentDisplaySix digits, one decimal, skewed segments | |
LedIndicatorRound lens, on, with label | |
IndustrialKnobContinuous 0–8000 RPM with value pod | |
StripChartThree channels over 10 s with a NaN dropout | |
IndustrialSwitchToggle lever under a safety guard | |
LevelMeterStereo dB meter with held peaks | |
AnnunciatorPanelISA-18.1 tiles: acknowledged, unacknowledged and advisory alarms | |
CompassHeading-up card, heading 047° with heading bug | |
CircularBargraph24 segments with peak hold | |
AnalysisChartRecorded data at two rates, a NaN dropout and a recording gap | |
The images are generated by the gallery with --export-gallery (dark theme, device pixel ratio 2, shown at half their pixel width); see docs/gallery_images.md. Each widget's features are described in docs/widgets.md.
main: build and the full test suite on Linux (Ubuntu 24.04, GCC, Qt 6.4.2), Windows (MSVC, Qt 6.6.3) and macOS (Apple Clang, Homebrew Qt); reuse lint; on Linux, the export of the gallery images and the Doxygen documentation..tar.gz, a Windows .zip and an SPDX SBOM are attached to each GitHub release (see v2.3.0).reuse lint runs in CI.Core, Gui and Widgets; the Qt Designer plugin is a separate module that also needs Qt Designer.Requirements: CMake 3.16 or newer, a C++17 compiler and Qt 6.2 or newer (CI builds with Qt 6.4.2, 6.6.3 and Homebrew's current Qt). Qt 5.15 is not supported at the moment, see #53.
find_package(): sudo dpkg -i qtindustrialwidgets_<version>_amd64.deb on Debian / Ubuntu, or extract the .tar.gz / .zip and add the extracted directory to CMAKE_PREFIX_PATH.vcpkg install --overlay-ports=./ports/qtindustrialwidgets qtindustrialwidgets — experimental, not yet verified: the port has not been tested with vcpkg install, and its archive hash is set only after a release is tagged (see #66).conan install . --build=missing (the recipe is conanfile.py; it is not built in CI).The interactive gallery is built by default (BUILD_EXAMPLES): ./build/bin/QtIndustrialWidgetsGallery.
With BUILD_DESIGNER_PLUGIN (on by default, switched off when Qt Designer is not found), the plugin QtIndustrialWidgetsPlugin registers the 12 widgets in the Industrial Widgets category of Qt Designer and Qt Creator. Installation: docs/designer_plugin.md.
API reference and guides on GitHub Pages: https://paolosereno.github.io/QtIndustrialWidgets/
FetchContent, find_package and standalone integration.To build the documentation locally (needs Doxygen; Graphviz is optional): cmake --build build --target docs, output in build/docs/html/index.html. Without a CMake build, from the project root:
How changes are made and what a pull request has to show (tests first for bugs, sabotage checks for new tests, the criteria for "done", Conventional Commits): CONTRIBUTING.md.
[MIT](LICENSE) (SPDX: MIT, full text in LICENSES/MIT.txt). Every file carries SPDX copyright and license information, as the REUSE specification requires; reuse lint checks it in CI.