#include "EvalReportWidget.h" #include "view/PlotView.h" #include "CustomPieChart.h" #include #include #include 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 v; QList values = { 26, 96, 28, 45, 67, 89 }; QStringList names; QList 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); }