快速接入

快速开始

本节使用真实的 ChartKit 公开接口创建一个折线图。ChartKit 图表控件本身就是 QWidget,可直接放入 Qt Widget 页面、布局或 Qt-UI 容器中。

1. 引入头文件

#include "UIGQLineChart.h"
#include "UIGQChartTheme.h"

如果需要其它图表类型,引入对应头文件:

#include "UIGQBarChart.h"
#include "UIGQOpenGLPieChart.h"
#include "UIGQScatterChart.h"

2. 创建图表

using namespace UIGQtLib;

auto* chart = new UIGQLineChart(parent);
chart->setMinimumSize(640, 360);
chart->setTitle("Monthly Orders");

调用说明:

方法 说明 参数 返回值
new UIGQLineChart(parent) 创建折线图控件,并交给 Qt 父子对象生命周期管理。 parent:父 QWidget,可为 nullptr UIGQLineChart*
setMinimumSize(int minw, int minh) 设置控件最小尺寸,避免布局压缩导致图表不可读。 minw:最小宽度;minh:最小高度。 void
setTitle(const QString& title) 设置图表标题。 title:标题文本。 void

3. 设置分类和数据

chart->setCategories({"Jan", "Feb", "Mar", "Apr", "May"});
chart->setSeries("Orders", {128, 152, 176, 163, 209}, QColor(35, 128, 224));

调用说明:

方法 说明 参数 返回值
setCategories(const QStringList& categories) 设置 X 轴分类标签。 categories:分类名称列表。 void
setSeries(const QString& name, const QVector<double>& values, const QColor& color) 设置单条数据序列,适合快速接入。 name:序列名称;values:数值列表;color:序列颜色,可使用默认值。 void

4. 设置主题和交互

chart->setThemePreset(kChartThemeMacarons);
chart->setLegendPosition(kChartLegendBottom);
chart->setTooltipMode(kChartTooltipItem);
chart->setTooltipVisible(true);
chart->setHoverEnabled(true);
chart->setAnimationEnabled(true);

调用说明:

方法 说明 参数 返回值
setThemePreset(UIGQChartThemePreset preset) 使用内置主题预设。 preset:主题预设枚举。 void
setLegendPosition(UIGQChartLegendPosition position) 设置图例位置。 position:图例位置枚举。 void
setTooltipMode(UIGQChartTooltipMode mode) 设置 tooltip 行为。 modekChartTooltipNonekChartTooltipItemkChartTooltipAxis void
setTooltipVisible(bool visible) 控制 tooltip 是否显示。 visible:是否显示。 void
setHoverEnabled(bool enabled) 控制鼠标 hover 交互。 enabled:是否启用 hover。 void
setAnimationEnabled(bool enabled) 控制数据绘制动画。 enabled:是否启用动画。 void

5. 更新数据

业务数据变化时,不要操作内部 QtCharts 对象,直接重新设置 ChartKit 数据:

chart->setSeries("Orders", latestValues, QColor(35, 128, 224));
chart->restartAnimation();

restartAnimation() 用于在数据刷新后重新播放图表动画。