Qt官方示例:Chart Themes Example(图表主题)

描述

图表主题示例,包括图表主题效果、动画效果、图例放在不同位置的效果。

图表主题效果

Qt官方示例:Chart Themes Example(图表主题)_第1张图片

Qt官方示例:Chart Themes Example(图表主题)_第2张图片

Qt官方示例:Chart Themes Example(图表主题)_第3张图片

Qt官方示例:Chart Themes Example(图表主题)_第4张图片

Qt官方示例:Chart Themes Example(图表主题)_第5张图片

Qt官方示例:Chart Themes Example(图表主题)_第6张图片

Qt官方示例:Chart Themes Example(图表主题)_第7张图片

Qt官方示例:Chart Themes Example(图表主题)_第8张图片

值得一提的是更新图表主题时,窗口样式也更新:

        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);

图表动画效果

图表数据变化或窗口大小改变时会呈现动画效果。

在这个例子里界面上的控件都连接到一个槽函数,在此函数里会设置动画选项,触发控件的时候会有动画效果。

Qt官方示例:Chart Themes Example(图表主题)_第9张图片

Qt官方示例:Chart Themes Example(图表主题)_第10张图片

图例放置在不同位置的效果

Qt官方示例:Chart Themes Example(图表主题)_第11张图片

Qt官方示例:Chart Themes Example(图表主题)_第12张图片

Qt官方示例:Chart Themes Example(图表主题)_第13张图片

Qt官方示例:Chart Themes Example(图表主题)_第14张图片

启用/禁用抗锯齿效果

Qt官方示例:Chart Themes Example(图表主题)_第15张图片

效果对比很明显。

知识点和技巧

1、设置坐标范围的方式

    chart->createDefaultAxes();
    chart->axes(Qt::Horizontal).first()->setRange(0, m_valueCount - 1);
    chart->axes(Qt::Vertical).first()->setRange(0, m_valueMax);

2、设置图例这段代码的写法可以学习一下:

把一个枚举类型包装成类,然后可判断此枚举对象是否有效。QFlags。

你可能感兴趣的:(#,QCharts,官方示例,qt)