|
@@ -99,8 +99,8 @@ void EvalReportWidget::initLayouts()
|
|
|
m_indexTitle->setContentsMargins(0, 10, 0, 10);
|
|
|
m_gridLayout->addWidget(m_indexTitle, 0, 0);
|
|
|
m_gridLayout->addWidget(m_indexCombo, 0, 1);
|
|
|
- m_gridLayout->addWidget(m_indexTab);
|
|
|
- m_gridLayout->addWidget(m_indexPlot);
|
|
|
+ m_gridLayout->addWidget(m_indexTab, 1, 0);
|
|
|
+ m_gridLayout->addWidget(m_indexPlot, 1, 1);
|
|
|
} else {
|
|
|
m_techTitle = new QLabel(this);
|
|
|
m_techTitle->setText("指标得分");
|
|
@@ -108,8 +108,8 @@ void EvalReportWidget::initLayouts()
|
|
|
m_techTitle->setContentsMargins(0, 10, 0, 10);
|
|
|
m_gridLayout->addWidget(m_techTitle, 0, 0);
|
|
|
m_gridLayout->addWidget(m_techCombo, 0, 1);
|
|
|
- m_gridLayout->addWidget(m_techTable);
|
|
|
- m_gridLayout->addWidget(m_techPlot);
|
|
|
+ m_gridLayout->addWidget(m_techTable, 1, 0);
|
|
|
+ m_gridLayout->addWidget(m_techPlot, 1, 1);
|
|
|
}
|
|
|
|
|
|
if (m_indexType == ProjectManager::OptimalIndex || m_indexType == ProjectManager::EfficiencyIndex) {
|
|
@@ -125,8 +125,8 @@ void EvalReportWidget::initLayouts()
|
|
|
m_schemeTitle->setContentsMargins(0, 50, 0, 10);
|
|
|
m_gridLayout->addWidget(m_schemeTitle, 2, 0);
|
|
|
m_gridLayout->addWidget(m_schemeCombo, 2, 1, Qt::AlignBottom);
|
|
|
- m_gridLayout->addWidget(m_schemeTable);
|
|
|
- m_gridLayout->addWidget(m_schemePlot);
|
|
|
+ m_gridLayout->addWidget(m_schemeTable, 3, 0);
|
|
|
+ m_gridLayout->addWidget(m_schemePlot, 3, 1);
|
|
|
}
|
|
|
|
|
|
QScrollArea *scroll = new QScrollArea;
|
|
@@ -208,6 +208,35 @@ void EvalReportWidget::showIndexWeight()
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+void EvalReportWidget::showIndexWeightPlot()
|
|
|
+{
|
|
|
+ QTableView *table = (QTableView *)m_indexTab->currentWidget();
|
|
|
+ if (table == nullptr) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ DataTableItemModel *model = (DataTableItemModel *)table->model();
|
|
|
+ if (model == nullptr) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ QVector<PlotView::Data> values;
|
|
|
+ for (int i = 0; i < model->rowCount(); i++) {
|
|
|
+ QStandardItem *header = model->verticalHeaderItem(i);
|
|
|
+ QStandardItem *item = model->item(i, 0);
|
|
|
+ PlotView::Data data { header->text(), item->text().toDouble() };
|
|
|
+ values.append(data);
|
|
|
+ }
|
|
|
+
|
|
|
+ m_gridLayout->removeWidget(m_indexPlot);
|
|
|
+ m_indexPlot->deleteLater();
|
|
|
+
|
|
|
+ PlotView::PlotType type = (PlotView::PlotType)m_indexCombo->currentIndex();
|
|
|
+ m_indexPlot = new PlotView(type, values, "", this);
|
|
|
+ m_indexPlot->setFixedSize(600, 600);
|
|
|
+ m_indexPlot->plot();
|
|
|
+ m_gridLayout->addWidget(m_indexPlot, 1, 1);
|
|
|
+}
|
|
|
+
|
|
|
void EvalReportWidget::showTechScore()
|
|
|
{
|
|
|
int levels = m_mind->levels();
|
|
@@ -289,10 +318,9 @@ void EvalReportWidget::makePlotClear(PlotView *plotView)
|
|
|
plotView->clearPlottables();
|
|
|
}
|
|
|
|
|
|
-void EvalReportWidget::slotSelectIndexPlotType(int type)
|
|
|
+void EvalReportWidget::slotSelectIndexPlotType(int)
|
|
|
{
|
|
|
- makePlotClear(m_indexPlot);
|
|
|
- m_indexPlot->updateType(PlotView::PlotType(type));
|
|
|
+ showIndexWeightPlot();
|
|
|
}
|
|
|
|
|
|
void EvalReportWidget::slotSelectTechPlotType(int type)
|
|
@@ -309,22 +337,5 @@ void EvalReportWidget::slotSelectSchemePlotType(int type)
|
|
|
|
|
|
void EvalReportWidget::slotIndexTabIndexChanged(int)
|
|
|
{
|
|
|
- QTableView *table = (QTableView *)m_indexTab->currentWidget();
|
|
|
- if (table == nullptr) {
|
|
|
- return;
|
|
|
- }
|
|
|
- DataTableItemModel *model = (DataTableItemModel *)table->model();
|
|
|
- if (model == nullptr) {
|
|
|
- return;
|
|
|
- }
|
|
|
-
|
|
|
- QVector<PlotView::Data> values;
|
|
|
- for (int i = 0; i < model->rowCount(); i++) {
|
|
|
- QStandardItem *header = model->verticalHeaderItem(i);
|
|
|
- QStandardItem *item = model->item(i, 0);
|
|
|
- PlotView::Data data { header->text(), item->text().toDouble() };
|
|
|
- values.append(data);
|
|
|
- }
|
|
|
- makePlotClear(m_indexPlot);
|
|
|
- m_indexPlot->updateData(values);
|
|
|
+ showIndexWeightPlot();
|
|
|
}
|