1. Introduction
The cut-widgets library provides a set of C++/Qt widgets for visualizing scalar, vector, and matrix data. It is used as part of the Control UI Toolkit (CUT) to build graphical user interfaces for the ESO ELT control system.
The widgets are implemented in C++23 with PySide6 bindings via Shiboken, providing a
cross-language API usable from both C++ and Python. A parallel set of Taurus-integrated widgets
adds declarative data binding, connecting widget model properties directly to CII OLDB datapoints
through Taurus model URIs.
The library offers minimal dependencies and includes both lower-level visualization widgets and higher-level applications with full toolbars and dock widgets.
1.1. Widget Gallery
QeImage |
QePlot |
QeTrend |
QeMatrixView |
QeVectorView |
|---|---|---|---|---|
QeImage |
QePlot |
QeTrend |
QeMatrixView |
QeVectorView |
1.2. What is covered here
This manual covers the following widgets:
- Visualization widgets
Core display elements for image and plot data:
Widget |
Purpose |
|---|---|
QeImage QePlot QeTrend QeMatrixView QeVectorView |
2D image display using Data Display Tool (DDT) 1D vector plot using Qwt Time-series trending of scalar data with Qwt Full-featured matrix viewer with toolbar and docks Full-featured vector viewer with toolbar and docks |
- Taurus data-bound widgets
Drop-in replacements that add Taurus model binding, connecting live datapoints to the underlying canvas widgets:
Widget |
Based on |
Datapoint type |
|---|---|---|
TaurusQeImage TaurusQePlot TaurusQeTrend |
QeImage QePlot QeTrend |
2D matrix ( |
- Qt Designer plugins
All widgets are registered in Qt Designer under their respective groups. Taurus widgets can be placed from the “Taurus Display” group; their
modelproperty accepts Taurus URIs such ascii.oldb:/cut/demoservice/instance1/double-vector-sin.- Standalone CLI launchers
The Taurus widgets can also be launched from the command line using the
taurusCLI:taurus image cii.oldb:/cut/demoservice/instance1/double-matrix-sin-cos taurus plot cii.oldb:/cut/demoservice/instance1/double-vector-sin taurus trend cii.oldb:/cut/demoservice/instance1/double-scalar-sin
These commands are available when the
cut.wdglib.taurus.plotpackage is installed and registered its alternative entry points.
1.3. Prerequisites
The cut-widgets library depends on:
Qt 6 (PySide6) – for UI rendering and event loop
Qwt – for QePlot and QeTrend canvas rendering
Data Display Tool (DDT) – for QeImage
Taurus – for data-bound widgets (
TaurusQePlot,TaurusQeTrend,TaurusQeImage)
1.4. License and third-party components
The library is licensed under LGPL 3.0. QePlot and QeTrend are based in part on the Qwt project (http://qwt.sf.net). QeImage and QeMatrixView depend on the DDT library, which carries an ESO proprietary license.




