描述
图表主题示例,包括图表主题效果、动画效果、图例放在不同位置的效果。
图表主题效果
值得一提的是更新图表主题时,窗口样式也更新:
QPalette pal = window()->palette();
if (theme == QChart::ChartThemeLight) {
pal.setColor(QPalette::Window, QRgb(0xf0f0f0));
pal.setColor(QPalette::WindowText, QRgb(0x404044));
} else if (theme == QChart::ChartThemeDark) {
...
}
window()->setPalette(pal);
图表动画效果
图表数据变化或窗口大小改变时会呈现动画效果。
在这个例子里界面上的控件都连接到一个槽函数,在此函数里会设置动画选项,触发控件的时候会有动画效果。
图例放置在不同位置的效果
启用/禁用抗锯齿效果
效果对比很明显。
知识点和技巧
1、设置坐标范围的方式
chart->createDefaultAxes();
chart->axes(Qt::Horizontal).first()->setRange(0, m_valueCount - 1);
chart->axes(Qt::Vertical).first()->setRange(0, m_valueMax);
2、设置图例这段代码的写法可以学习一下:
把一个枚举类型包装成类,然后可判断此枚举对象是否有效。QFlags。