Qt制作简单的折线图

首先在.pro添加 QT += Charts ;

若使用的是VS编程软件,具体操作如下所示:

勾选charts文件

下面直接给出代码

#include "QtGuiApplication1.h"
#include <QtWidgets/QApplication>
#include <QtWidgets/QMainWindow>
#include <QSplineSeries>
#include <qchartview.h>
#include <qpoint.h>
#include <qchart.h>
#include <qlayout.h>
//这段程序是为了成功显示中文
#pragma execution_character_set("utf-8");
//使用命名空间
QT_CHARTS_USE_NAMESPACE;
QtGuiApplication1::QtGuiApplication1(QWidget *parent)
	: QWidget(parent)
{
	ui.setupUi(this);
	QSplineSeries* series = new QSplineSeries();
	/*设置图标名**/
	series->setName("spline");
	/*添加数据**/
	series->append(0, 6);
	series->append(2, 4);
	series->append(3, 8);
	series->append(7, 4);
	series->append(10, 5);
	// 添加数据的两个方法
	*series << QPointF(11, 1) << QPointF(13, 3) << QPointF(17, 6) << QPointF(18, 3) << QPointF(20, 2);
	/*创建Chart**/
	QChart* chart = new QChart();
	chart->addSeries(series);
	//chart->legend()->hide(); // 将spline字符进行隐藏
	chart->setTitle("简单的曲线图表");
	chart->createDefaultAxes();
	/*如果想自己设定坐标轴方位则使用setRange()**/
	chart->axes(Qt::Vertical).first()->setRange(0,10);
	chart->axes(Qt::Horizontal).first()->setRange(0, 20);
	/*创建QChartView*/
	QChartView* chartView = new QChartView(chart);
	chartView->setRenderHint(QPainter::Antialiasing); // 这个函数使得曲线光滑了许多
	/*使chartView 跟Widget 产生联系**/
	QVBoxLayout* vLayout = new QVBoxLayout(this);
	vLayout->addWidget(chartView);
}

显示结果:


版权声明:本文为qq_42138448原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。