QT学习笔记:QtChart(一)

第一步:在.pro文件中添加: QT +=charts
第二步:添加头文件:#include <QtCharts>
第三步:绘制静态的折线图
在看到这个之前,我查过很多QChart的使用方法,譬如有一个需要添加命名空间的(QT_CHARTS_USE_NAMESPACE),还有提升部件的,我也都运行过了,是可以实现的。
这段代码很详细,常用的绘图函数差不多都有,使用这个方法的时候,我没有加命名空间,也运行成功了。(个人见解)

    //类似于QGraphicsView组件,用来显示曲线
    QChartView *chartView = new QChartView(this);

    QChart *chart = new QChart();
    chart->setTitle("简单函数曲线");
    chartView->setChart(chart);//设置新chart,会自动清除之前的chart
    setCentralWidget(chartView);//将 QChartView部件居中

    //创建曲线序列
    QLineSeries *series0 = new QLineSeries();
    QLineSeries *series1 = new QLineSeries();
    series0->setName("sin曲线");
    series1->setName("cos曲线");
    chart->addSeries(series0);
    chart->addSeries(series1);

    //序列添加数值
     qreal t = 0, y1, y2, intv = 0.1;
     int cnt = 200;
     for(int i = 0; i < cnt; ++i){
          y1 = qSin(t);//真好,连头文件都不用添加了,嘻嘻嘻
          series0->append(t, y1);

          y2=qCos(t);
          series1->append(t,y2);

          t+=intv;  //每次角度增加
       }

      //创建座标
      QValueAxis *axisX = new QValueAxis;
      axisX->setRange(0, 10);//设置座标轴范围
      axisX->setTitleText("time(secs)");//标题
      axisX->setLabelFormat("%.1f"); //标签格式:每个单位保留1位小数
      axisX->setTickCount(20); //主分隔个数:0到10分成20个单位
      axisX->setMinorTickCount(4); //每个单位之间绘制了多少虚网线
  
      QValueAxis *axisY = new QValueAxis; //Y 轴
      axisY->setRange(-2, 2);
      axisY->setTitleText("value");
      axisY->setLabelFormat("%.2f"); //标签格式
      axisY->setTickCount(10);
      axisY->setMinorTickCount(4);
   
      //为序列设置座标轴
      chart->setAxisX(axisX, series0);
      chart->setAxisY(axisY, series0);

      chart->setAxisX(axisX, series1);
      chart->setAxisY(axisY, series1);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章