Browse Source

方案说明

chengxr 1 year ago
parent
commit
07893c7657
2 changed files with 29 additions and 2 deletions
  1. 28 2
      QFD/widgets/EvalSchemeWidget.cpp
  2. 1 0
      QFD/widgets/EvalSchemeWidget.h

+ 28 - 2
QFD/widgets/EvalSchemeWidget.cpp

@@ -27,6 +27,20 @@ QString EvalSchemeWidget::nameOfScheme(Scheme s)
     }
 }
 
+QString EvalSchemeWidget::descriptionOfScheme(EvalSchemeWidget::Scheme s)
+{
+    switch (s) {
+    case Index:
+        return "构建指标体系";
+    case Collect:
+        return "收集专家数据";
+    case Process:
+        return "处理数据";
+    case Output:
+        return "生成报告";
+    }
+}
+
 QString EvalSchemeWidget::nameOfAlgorithm(EvalSchemeWidget::Algorithm a)
 {
     switch (a) {
@@ -72,6 +86,8 @@ void EvalSchemeWidget::initWidgets()
     m_schemeSep->setFixedWidth(1);
     m_description = new QLabel("description", this);
     m_description->setFixedWidth(150);
+    m_description->setAlignment(Qt::AlignTop);
+    m_description->setWordWrap(true);
 
     m_schemeMenu = new RoundMenu("scheme", this);
     for (QString key : m_schemes.keys()) {
@@ -129,9 +145,15 @@ void EvalSchemeWidget::refreshSchemeView()
     updateButtonState();
 
     m_schemeView->clear();
-    if (m_scheme > 0) {
-        m_scheme |= Output;
+    m_description->clear();
+    if (m_scheme <= 0) {
+        return;
     }
+
+    m_scheme |= Output;
+    QString desc = QString("方案说明\n\n");
+    int step     = 0;
+
     QMetaEnum sch = QMetaEnum::fromType<Scheme>();
     for (int i = 0; i < sch.keyCount(); i++) {
         Scheme s = Scheme(sch.value(i));
@@ -139,15 +161,19 @@ void EvalSchemeWidget::refreshSchemeView()
             for (Algorithm a : m_algs) {
                 CSchemeItem *item = new CSchemeItem(nameOfAlgorithm(a));
                 m_schemeView->addItem(item);
+                desc += QString("第 %1 步: 使用%2对数据进行处理\n\n").arg(++step).arg(nameOfAlgorithm(a));
             }
 
         } else {
             if ((m_scheme & s) == s) {
                 CSchemeItem *item = new CSchemeItem(nameOfScheme(s));
                 m_schemeView->addItem(item);
+                desc += QString("第 %1 步: %2\n\n").arg(++step).arg(descriptionOfScheme(s));
             }
         }
     }
+
+    m_description->setText(desc);
 }
 
 void EvalSchemeWidget::loadScheme(const QString scheme)

+ 1 - 0
QFD/widgets/EvalSchemeWidget.h

@@ -32,6 +32,7 @@ public:
     Q_ENUM(Scheme)
 
     static QString nameOfScheme(Scheme s);
+    static QString descriptionOfScheme(Scheme s);
 
     enum Algorithm
     {