123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144 |
- #include "EvalReportWidget.h"
- #include "view/PlotView.h"
- #include "CustomPieChart.h"
- #include <QLabel>
- #include <QBoxLayout>
- #include <QGridLayout>
- EvalReportWidget::EvalReportWidget(QWidget *parent) : QWidget(parent)
- {
- m_view = new QWidget;
- m_layout = new QVBoxLayout(m_view);
- QLabel *title = new QLabel(this);
- title->setText("分析结果");
- QFont ft("Microsoft YaHei", 12);
- title->setFont(ft);
- m_layout->addWidget(title);
- m_layout->addSpacing(15);
- m_gridLayout = new QGridLayout();
- m_layout->addLayout(m_gridLayout);
- addContents();
- QScrollArea *scroll = new QScrollArea;
- scroll->setAlignment(Qt::AlignLeft);
- scroll->setWidget(m_view);
- QVBoxLayout *layout = new QVBoxLayout(this);
- layout->setMargin(0);
- layout->addWidget(scroll);
- }
- void EvalReportWidget::addContents()
- {
- QVector<PlotView::Data> v;
- QList<int> values = { 26, 96, 28, 45, 67, 89 };
- QStringList names;
- QList<QColor> colors;
- for (int i = 0; i < values.count(); i++) {
- PlotView::Data d;
- d.name = QString("%1").arg(i);
- d.value = values[i] / 100.0;
- v.append(d);
- names.append(d.name);
- colors.append(QColor::fromRgbF(i * 1.0 / values.count(), 0.5, (values.count() - i) * 1.0 / values.count(), 1));
- }
- QSize s = QSize(500, 500);
- QTableView *t = new QTableView();
- t->setAlternatingRowColors(true);
- t->horizontalHeader()->setStyleSheet("QHeaderView::section{background:rgb(244,244,244);color: gray;}");
- t->verticalHeader()->setStyleSheet("QHeaderView::section{background:rgb(244,244,244);color: gray;}");
- t->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);
- t->verticalHeader()->setDefaultAlignment(Qt::AlignCenter);
- t->setSelectionMode(QAbstractItemView::SingleSelection);
- QStandardItemModel *model = new QStandardItemModel(t);
- t->setModel(model);
- m_gridLayout->addWidget(t, 0, 0);
- QStandardItem *item1 = new QStandardItem();
- item1->setText("0.9602558624");
- item1->setData(Qt::AlignCenter, Qt::TextAlignmentRole);
- item1->setEditable(false);
- model->setItem(0, 0, item1);
- QStandardItem *item2 = new QStandardItem();
- item2->setText("0.2689133465");
- item2->setData(Qt::AlignCenter, Qt::TextAlignmentRole);
- item2->setEditable(false);
- model->setItem(0, 1, item2);
- QStandardItem *item3 = new QStandardItem();
- item3->setText("-0.261667729");
- item3->setData(Qt::AlignCenter, Qt::TextAlignmentRole);
- item3->setEditable(false);
- model->setItem(1, 0, item3);
- QStandardItem *item4 = new QStandardItem();
- item4->setText("0.9605586895");
- item4->setData(Qt::AlignCenter, Qt::TextAlignmentRole);
- item4->setEditable(false);
- model->setItem(1, 1, item4);
- QStandardItem *item5 = new QStandardItem();
- item5->setText("0.9602558624");
- item5->setData(Qt::AlignCenter, Qt::TextAlignmentRole);
- item5->setEditable(false);
- model->setItem(2, 0, item5);
- QStandardItem *item6 = new QStandardItem();
- item6->setText("0.2689133465");
- item6->setData(Qt::AlignCenter, Qt::TextAlignmentRole);
- item6->setEditable(false);
- model->setItem(2, 1, item6);
- QStandardItem *item7 = new QStandardItem();
- item7->setText("0.9429251078");
- item7->setData(Qt::AlignCenter, Qt::TextAlignmentRole);
- item7->setEditable(false);
- model->setItem(3, 0, item7);
- QStandardItem *item8 = new QStandardItem();
- item8->setText("-0.281150667");
- item8->setData(Qt::AlignCenter, Qt::TextAlignmentRole);
- item8->setEditable(false);
- model->setItem(3, 1, item8);
- PlotView *w1 = new PlotView(PlotView::Line, v, "折线图", this);
- w1->setFixedSize(s);
- w1->plot();
- m_gridLayout->addWidget(w1, 0, 1);
- PlotView *w2 = new PlotView(PlotView::HistogramHorizontal, v, "横向柱状图", this);
- w2->setFixedSize(s);
- w2->plot();
- m_gridLayout->addWidget(w2);
- PlotView *w3 = new PlotView(PlotView::HistogramVertical, v, "竖向柱状图", this);
- w3->setFixedSize(s);
- w3->plot();
- m_gridLayout->addWidget(w3);
- PlotView *w4 = new PlotView(PlotView::Curve, v, "曲线图", this);
- w4->setFixedSize(s);
- w4->plot();
- m_gridLayout->addWidget(w4);
- PlotView *w5 = new PlotView(PlotView::Area, v, "面积图", this);
- w5->setFixedSize(s);
- w5->plot();
- m_gridLayout->addWidget(w5);
- CustomPieChart *w6 = new CustomPieChart("title", names, values, colors, this);
- w6->setFixedSize(s);
- m_gridLayout->addWidget(w6);
- }
|