QT中创建条形统计图的方法
.pro中
QT += charts
头文件
#include <QtCharts/QChartView>
#include <QtCharts/QBarSeries>
#include <QtCharts/QBarSet>
#include <QtCharts/QLegend>
#include <QtCharts/QBarCategoryAxis>
#include
#include
QT_CHARTS_USE_NAMESPACE
完整代码如下`QBarSet *set0= new QBarSet(“1”);
QBarSet *set1= new QBarSet(“2”);
QBarSet *set2= new QBarSet(“3”);
QBarSet *set3= new QBarSet(“4”);
QBarSet *set4= new QBarSet("5");
QBarSet *set5= new QBarSet("6");
QString str1;
QString str2;
QString str3;
QString str4;
str1 = ui->lineEdit->text();
str2 = ui->lineEdit_2->text();
str3 = ui->lineEdit_3->text();
str4 = ui->lineEdit_4->text();
int s1 = atoi(str1.toStdString().c_str());
int s2 = atoi(str2.toStdString().c_str());
int s3 = atoi(str3.toStdString().c_str());
int s4 = atoi(str4.toStdString().c_str());
*set0 << s1 << s2 << s3<< s1;
*set1 << s2 << s3 << s1 << s4;
*set2 << s3 << s1 << s4 <<s2;
*set3 << s4 << s4 << s2 << s3;
QBarSeries *series = new QBarSeries();
series->append(set0);
series->append(set1);
series->append(set2);
series->append(set3);
//创建图行
QChart *chart = new QChart();
//创建图像设置标题
chart->addSeries(series);
chart->setTitle("Simple barchart example");
chart->setAnimationOptions(QChart::SeriesAnimations);
//坐标
QBarCategoryAxis *axis = new QBarCategoryAxis();
//图像显示窗口认widget为父
QChartView *chartView = new QChartView(chart,ui->textBrowser);
//每组柱状图名字
QStringList categories;
categories << "1" << "2" << "3" << "4" ;
axis->append(categories);
chart->createDefaultAxes();//创建默认的左侧的坐标轴(根据 QBarSet 设置的值)
chart->setAxisX(axis, series);//设置坐标轴
chart->legend()->setVisible(true); //设置图例为显示状态
chart->legend()->setAlignment(Qt::AlignBottom);//设置图例的显示位置在底部
chartView->setRenderHint(QPainter::Antialiasing);
chartView->resize(550, 300);
chartView->show();`