QChart+QChartView基本用法,正弦/余弦曲线示例

折线图QLineSeries、曲线图QSplineSeries、散点图QScatterSeries、柱状图 QBarSeries、堆叠柱状图QStackedBarSeries、饼图QPieSeries等用法都有相似之处,简单使用包括以下基本步骤:

步骤1

构建Series,包括设置名称,添加基本元素等(如折线图/曲线图/散点图添加点,饼图添加切片)。

步骤2

构建Chart,根据实际Series类型设置相关的属性,包括设置标题、设置动画、设置主题、添加Series,折线图/曲线图/散点图创建坐标轴、设置坐标轴范围,饼图可设置饼的大小、切片分离度等。

步骤3

构建ChartView,设置抗锯齿。

步骤4

显示。

示例代码(基于Qt官方例子Simple line chart example稍作修改)

在这里插入图片描述

#include <QApplication>
#include <QMainWindow>
#include <QChartView>
#include <QSplineSeries>
#include <math.h>

#define pie 3.1415926

QT_CHARTS_USE_NAMESPACE

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);

//![1]
    QSplineSeries *series = new QSplineSeries();
    series->setName("sin line");
    for(double i = 0; i<360; i++)
    {
        QPointF point(i,sin(i/360*pie*2));
        series->append(point);
    }

    QSplineSeries *series1 = new QSplineSeries();
    series1->setName("cos line");
    for(double i = 0; i<360; i++)
    {
        QPointF point(i,cos(i/360*pie*2));
        series1->append(point);
    }
//![1]

//![2]
    QChart *chart = new QChart();
    chart->setTitle("Simple line chart example");
    chart->setAnimationOptions(QChart::SeriesAnimations);   //动画选项
    chart->setTheme(QChart::ChartThemeBlueCerulean);    //设置主题,Qt内置
    chart->addSeries(series);
    chart->addSeries(series1);
    chart->createDefaultAxes(); //先append序列再创建坐标轴
    chart->axes(Qt::Horizontal).first()->setRange(0,360);   //横坐标范围
    chart->axes(Qt::Vertical).first()->setRange(-2,2);  //纵坐标范围
//![2]

//![3]
    QChartView *chartView = new QChartView(chart);
    chartView->setRenderHint(QPainter::Antialiasing);   //抗锯齿
//![3]

//![4]
    QMainWindow window;
    window.setCentralWidget(chartView);
    window.resize(400, 300);
    window.show();
//![4]
    return a.exec();
}
  • 0
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值