Qt 一個簡單的QChart 繪圖
先上程序運行結果圖:
“sample9_1QChart.h” 文件代碼如下:
#pragma once#include <QtWidgets/QMainWindow>
#include "ui_sample9_1QChart.h"#include <QtCharts> //必須這么設置
QT_CHARTS_USE_NAMESPACE //使用宏定義class sample9_1QChart : public QMainWindow
{Q_OBJECTpublic:sample9_1QChart(QWidget *parent = Q_NULLPTR);private:Ui::sample9_1QChartClass ui;private:void createChart();//
};
“sample9_1QChart.cpp” 文件代碼如下:
#include "sample9_1QChart.h"//解決QT中中文顯示亂碼問題
#pragma execution_character_set("utf-8")sample9_1QChart::sample9_1QChart(QWidget *parent): QMainWindow(parent)
{ui.setupUi(this);createChart();
}//創建圖表
void sample9_1QChart::createChart()
{QChartView *chartView = new QChartView(this); //創建 ChartViewQChart *chart = new QChart(); //創建 Chartchart->setTitle("簡單函數曲線");chartView->setChart(chart); //Chart添加到ChartViewthis->setCentralWidget(chartView);//創建曲線序列QLineSeries *series0 = new QLineSeries();QLineSeries *series1 = new QLineSeries();series0->setName("Sin曲線");series1->setName("Cos曲線");chart->addSeries(series0); //序列添加到圖表chart->addSeries(series1);// QPen pen;// pen.setStyle(Qt::DotLine);//Qt::SolidLine, Qt::DashLine, Qt::DotLine, Qt::DashDotLine// pen.setWidth(2);// pen.setColor(Qt::red);// series0->setPen(pen);// pen.setStyle(Qt::SolidLine);//Qt::SolidLine, Qt::DashLine, Qt::DotLine, Qt::DashDotLine// pen.setColor(Qt::blue);// series1->setPen(pen);//序列添加數值qreal t = 0, y1, y2, intv = 0.1;int cnt = 100;for (int i = 0; i < cnt; i++){y1 = qSin(t);//+qrand();series0->append(t, y1);y2 = qSin(t + 20);series1->append(t, y2);t += intv;}// chart->createDefaultAxes();// chart->axisX()->setTitleText("time(secs)");// chart->axisY()->setTitleText("value");//創建坐標軸QValueAxis *axisX = new QValueAxis; //X 軸axisX->setRange(0, 10); //設置坐標軸范圍// axisX->setLabelFormat("%.1f"); //標簽格式// axisX->setTickCount(11); //主分隔個數// axisX->setMinorTickCount(4);axisX->setTitleText("time(secs)"); //標題// axisX->setGridLineVisible(false);QValueAxis *axisY = new QValueAxis; //Y 軸axisY->setRange(-2, 2);axisY->setTitleText("value");// axisY->setTickCount(5);// axisY->setMinorTickCount(4);// axisY->setLabelFormat("%.2f"); //標簽格式// axisY->setGridLineVisible(false);chart->setAxisX(axisX, series0); //為序列設置坐標軸chart->setAxisY(axisY, series0); //chart->setAxisX(axisX, series1); //為序列設置坐標軸chart->setAxisY(axisY, series1); //
}
運行的時候報錯,找不到?QtCharts
#include <QtCharts> ?//必須這么設置
QT_CHARTS_USE_NAMESPACE ?//使用宏定義
這兩個報錯
在項目名稱上,右鍵打開項目屬性,在圖中以下路徑添加 QtCharts 的include 配置
然后在 鏈接器-->輸入-->附加依賴項 中添加上 “Qt5Chartsd.lib”
配置完成后,重新運行即可。
Windows下安裝VS2013+Qt5.7.0構建Qt開發環境搭建及解決小番茄無法識別、自動補全Qt的問題-CSDN博客