.pro文件
QT +=charts
.h
#include<QtCharts>
//命名空间
QT_CHARTS_USE_NAMESPACE
.cpp
//创建图表
QChart *
chart=
new
QChart();
chart->
setTitle(
"2012-5班3月月考成绩");
//图表加入画布中
QChartView *
chartView=
new
QChartView(
chart);
//画布加入界面布局中
ui->
gridLayout->
addWidget(
chartView);
//ui->label->
//chartView->setChart(chart);
创建QBarSet并添加数据
QBarSet *
set1=
new
QBarSet(
"语文成绩");
QBarSet *
set2=
new
QBarSet(
"数学成绩");
QBarSet *
set3=
new
QBarSet(
"英语成绩");
QBarSet *
set4=
new
QBarSet(
"物理成绩");
*
set1
<<
86
<<
75
<<
68
<<
98
<<
68;
*
set2
<<
99
<<
65
<<
31
<<
40
<<
65;
*
set3
<<
80
<<
55
<<
29
<<
96
<<
72;
*
set4
<<
74
<<
95
<<
59
<<
68
<<
88;
//用于横坐标的字符串列表
QStringList
cateList;
cateList
<<
"张三"
<<
"李四"
<<
"王五"
<<
"赵六"
<<
"钱七";
//用于柱状图的横坐标
QBarCategoryAxis *
axisX=
new
QBarCategoryAxis();
//用于柱状图的数值纵坐标
QValueAxis *
axisY=
new
QValueAxis;
axisY->
setTitleText(
"成绩:分数");
axisY->
setRange(
0,
100);
//设置主刻度数
axisY->
setTickCount(
11);
//设置副刻度数
axisY->setMinorTickCount(1);
//设置纵坐标刻度整数显示,%d:有符号十进制整数
axisY->setLabelFormat("%d");
//横坐标显示字符串刻度
axisX->append(cateList);
//创建柱形图对象
QBarSeries *barSeries=new QBarSeries();
//把QBarSet对象加入柱形图中
barSeries->append(set1);
barSeries->append(set2);
barSeries->append(set3);
barSeries->append(set4);
//设置柱形图数据可显示
barSeries->setLabelsVisible(true);
//柱形图对象放入图表中
chart->addSeries(barSeries);
//chart->createDefaultAxes();// 创建默认坐标轴
//把柱形图和横纵坐标关联
chart->setAxisY(axisY,barSeries);
chart->setAxisX(axisX,barSeries);