产品概览
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(...) |
通用调用顺序
- 创建图表控件并加入父容器。
- 设置标题、分类、数据 series 或 slices。
- 设置主题、图例位置、背景、动画和 tooltip。
- 业务数据变化时重新调用
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 暴露。