产品概览

Qt-UI ChartKit

ChartKit 是面向 Qt Widget 桌面程序的数据可视化控件库。当前图表控件采用自绘 OpenGL 渲染体系,对外暴露 ChartKit 自身的控件类与数据结构。业务代码应通过 ChartKit 的公开控件方法设置数据、主题和交互。

基类结构

ChartKit 的核心基类是 UIGQChartBase

类型 说明
UIGQChartBase 图表渲染基类,继承 QOpenGLWidget,负责主题、图例位置、背景、动画和 tooltip overlay。
IUIGQWidgetBase Qt-UI 控件统一接口,图表控件通过它接入 WidgetKit 的控件注册、JSON、布局和样式体系。
UIGQChartTheme 图表主题结构,包含背景、绘图区、标题、坐标轴、网格线、hover guide 和调色板。

类图

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

当前图表类型

图表 控件类 typeName 数据入口
折线图 UIGQLineChart qtlinechart setCategories(...) + setSeries(...)
柱状图 UIGQBarChart qtbarchart setCategories(...) + setSeries(...)
饼图 UIGQOpenGLPieChart qtopenglpiechart setSlices(...)
散点图 UIGQScatterChart qtscatterchart setSeries(...)
金融图表 UIGQFinancialChart qtfinancialchart setKLineData(...) / setMinuteData(...)

通用调用顺序

  1. 创建图表控件并加入父容器。
  2. 设置标题、分类、数据 series 或 slices。
  3. 设置主题、图例位置、背景、动画和 tooltip。
  4. 业务数据变化时重新调用 setSeries(...)setSlices(...)
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);

调用入口

业务代码应调用 ChartKit 控件公开的 setSeries(...)setCategories(...)setSlices(...)setThemePreset(...) 等方法。图表内部渲染对象由控件管理,不作为业务 API 暴露。