最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Qt QChart 創(chuàng)建圖表的實現(xiàn)方法

 更新時間:2020年12月23日 09:40:04   作者:咸魚Doyoung  
這篇文章主要介紹了Qt QChart 創(chuàng)建圖表的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

本文主要介紹了Qt QChart 創(chuàng)建圖表,分享給大家,也給自己留個筆記,廢話不多說,具體如下:

效果

流程

代碼

1. 餅圖

// 保存多個扇形
	QList<QPieSlice *> slices;
	for (int i = 1; i <= 10; ++i)
	{
		// 創(chuàng)建一個扇形
		QPieSlice * slice = new QPieSlice(QString::number(i),i);
		slices << slice;
	}
	// 創(chuàng)建一個餅圖系列
	QPieSeries * pieSeries = new QPieSeries;
	// 當(dāng)鼠標(biāo)懸浮時設(shè)置標(biāo)簽可見,設(shè)置餅圖扇形分離
	QObject::connect(pieSeries,&QPieSeries::hovered
		, [](QPieSlice *slice, bool state) {
		slice->setLabelVisible(state);
		slice->setExploded(state);
	});
	// 將所有扇形所加到餅圖中
	pieSeries->append(slices);

	// 創(chuàng)建一個圖表
	QChart * chart = new QChart;
	// 設(shè)置標(biāo)題
	chart->setTitle(QStringLiteral("餅圖"));
	// 設(shè)置動畫
	chart->setAnimationOptions(QChart::AllAnimations);
	// 設(shè)置圖表的系列
	chart->addSeries(pieSeries);

	// 創(chuàng)建圖表視圖,顯示圖表
 pView = new QChartView(chart);
	// 設(shè)置抗鋸齒
	pView->setRenderHint(QPainter::Antialiasing);

	// 添加圖表視圖到布局
 QVBoxLayout *layout = new QVBoxLayout(this);
 layout->addWidget(pView);

2. 柱圖

// 保存柱集合
	QList<QBarSet *> sets;
	for (int i = 1; i <= 5; ++i)
	{
		// 創(chuàng)建一個柱集合
		QBarSet * set = new QBarSet(QString("set").append(QString::number(i)));
		QList<qreal> values;
		for (int j = 1; j <= 5; ++j)
		{
			values << qrand()%100;
			qDebug() << values;
		}
		set->append(values);
		sets << set;
	}
	// 創(chuàng)建一個柱圖系列
	QBarSeries * barSeries = new QBarSeries;
	// 添加柱集合
	barSeries->append(sets);

	QChart * chart = new QChart;
	chart->setTitle(QStringLiteral("柱狀圖"));
	chart->setAnimationOptions(QChart::AllAnimations);
	chart->addSeries(barSeries);

	pView = new QChartView(chart);
	pView->setRenderHint(QPainter::Antialiasing);

	QVBoxLayout *layout = new QVBoxLayout(this);
	layout->addWidget(pView);

3. 折/曲線圖

// 創(chuàng)建并保存點信息
	QList<QPointF> points;
	points << QPointF(0, -1) << QPointF(2, 2) << QPointF(3, 5) << QPointF(5, -5)
		<< QPointF(6, 0) << QPointF(7, 3);

	// 創(chuàng)建線圖系列
	QLineSeries * lineSeries = new QLineSeries;
	// 曲線
	//QSplineSeries * lineSeries = new QSplineSeries;
	
	// 追加點
	lineSeries->append(points);

	QChart * chart = new QChart;
	chart->setTitle(QStringLiteral("線圖"));
	chart->setAnimationOptions(QChart::AllAnimations);
	chart->addSeries(lineSeries);

	pView = new QChartView(chart);
	pView->setRenderHint(QPainter::Antialiasing);

	QVBoxLayout *layout = new QVBoxLayout(this);
	layout->addWidget(pView);

4. 區(qū)域圖

QList<QPointF> pointsLower;
	pointsLower << QPointF(0, -1) << QPointF(2, 2) << QPointF(3, 5) << QPointF(5, -5)
		<< QPointF(6, 0) << QPointF(7, 3);
	// 創(chuàng)建一條線
	QLineSeries * lineSeriesLower = new QLineSeries;
	lineSeriesLower->append(pointsLower);

	QList<QPointF> pointsUpper;
	pointsUpper << QPointF(0, -1) << QPointF(2, 4) << QPointF(3, 3) << QPointF(5, 3)
		<< QPointF(6, 1) << QPointF(7, 5);
	// 創(chuàng)建另一條線
	QLineSeries * lineSeriesUpper = new QLineSeries;
	lineSeriesUpper->append(pointsUpper);

	// 兩條線組成面
	QAreaSeries * areaSeries = new QAreaSeries(lineSeriesLower, lineSeriesUpper);

	QChart * chart = new QChart;
	chart->setTitle(QStringLiteral("區(qū)域圖"));
	chart->setAnimationOptions(QChart::AllAnimations);
	chart->addSeries(areaSeries);

	pView = new QChartView(chart);
	pView->setRenderHint(QPainter::Antialiasing);

	QVBoxLayout *layout = new QVBoxLayout(this);
	layout->addWidget(pView);

到此這篇關(guān)于Qt QChart 創(chuàng)建圖表的實現(xiàn)方法的文章就介紹到這了,更多相關(guān)Qt QChart 創(chuàng)建圖表 內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論

丰县| 项城市| 毕节市| 清水县| 万荣县| 博湖县| 蛟河市| 黄山市| 临清市| 安丘市| 许昌市| 漳浦县| 宁波市| 霞浦县| 哈尔滨市| 集贤县| 景谷| 罗定市| 淮南市| 万荣县| 德阳市| 昌图县| 共和县| 章丘市| 江北区| 河南省| 双城市| 十堰市| 保亭| 潜山县| 高要市| 拜泉县| 兴业县| 静海县| 缙云县| 宜宾县| 莫力| 寿光市| 湘潭县| 宜宾县| 札达县|