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

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