Overview

Qt-UI ChartKit Overview

ChartKit is a Qt Widget chart component library for desktop data visualization. The current chart controls use ChartKit's own OpenGL-rendered widget model. Application code should use the public ChartKit controls and data structures to configure data, themes, and interaction.

Base Classes

Type Description
UIGQChartBase Common chart rendering base class. It inherits QOpenGLWidget and manages themes, legend position, background color, animation, and tooltip overlay.
IUIGQWidgetBase Qt-UI common widget interface used for registration, JSON, layout, and styling integration.
UIGQChartTheme Theme data structure for background, plot area, title, axes, grid lines, hover guide, and palette.

Class Diagram

QWidget
  └─ QOpenGLWidget
      └─ UIGQtLib::UIGQChartBase
          ├─ UIGQtLib::UIGQLineChart      + IUIGQWidgetBase
          ├─ UIGQtLib::UIGQBarChart       + IUIGQWidgetBase
          ├─ UIGQtLib::UIGQOpenGLPieChart + IUIGQWidgetBase
          └─ UIGQtLib::UIGQScatterChart   + IUIGQWidgetBase

Chart Types

Chart Class typeName Data Entry
Line UIGQLineChart qtlinechart setCategories(...) + setSeries(...)
Bar UIGQBarChart qtbarchart setCategories(...) + setSeries(...)
Pie UIGQOpenGLPieChart qtopenglpiechart setSlices(...)
Scatter UIGQScatterChart qtscatterchart setSeries(...)

Basic Call Pattern

using namespace UIGQtLib;

auto* chart = new UIGQLineChart(parent);
chart->setTitle("Revenue Trend");
chart->setCategories({"Q1", "Q2", "Q3", "Q4"});
chart->setSeries("Revenue", {120.0, 160.0, 148.0, 210.0}, QColor(35, 128, 224));
chart->setThemePreset(kChartThemeMacarons);
chart->setLegendPosition(kChartLegendBottom);
chart->setTooltipVisible(true);
chart->setHoverEnabled(true);

API Entry Points

Use ChartKit APIs such as setSeries(...), setCategories(...), setSlices(...), and setThemePreset(...). Internal rendering objects are managed by the chart controls and are not application-level APIs.