SchemeOptionWidget.cpp 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #include "SchemeOptionWidget.h"
  2. #include <Widgets/Button.h>
  3. #include <QLabel>
  4. #include <QBoxLayout>
  5. #include <QListWidget>
  6. #include <QButtonGroup>
  7. SchemeOptionWidget::SchemeOptionWidget(QWidget *parent) : QWidget(parent)
  8. {
  9. initialize();
  10. initLayout();
  11. connectSignalsAndSlots();
  12. }
  13. void SchemeOptionWidget::initialize()
  14. {
  15. m_vBoxLayout = new QVBoxLayout(this);
  16. m_normalLabel = new QLabel("归一化公式", this);
  17. m_normalLayout = new QVBoxLayout();
  18. m_minButton = new RadioButton("最小值");
  19. m_minButton->setChecked(true);
  20. m_maxButton = new RadioButton("最大值");
  21. m_zscoreButton = new RadioButton("Z-Score法");
  22. QButtonGroup *normalGroup = new QButtonGroup(this);
  23. normalGroup->addButton(m_minButton);
  24. normalGroup->addButton(m_maxButton);
  25. normalGroup->addButton(m_zscoreButton);
  26. m_calcLabel = new QLabel("计算方法", this);
  27. m_calcLayout = new QVBoxLayout();
  28. m_pairButton = new RadioButton("集对分析法");
  29. m_pairButton->setChecked(true);
  30. m_averageButton = new RadioButton("平均值法");
  31. QButtonGroup *calcGroup = new QButtonGroup(this);
  32. calcGroup->addButton(m_pairButton);
  33. calcGroup->addButton(m_averageButton);
  34. m_buttonLayout = new QHBoxLayout();
  35. m_calcButton = new PushButton("计算", this);
  36. m_saveButton = new PushButton("保存", this);
  37. m_schemeLabel = new QLabel("方案排行榜", this);
  38. m_listWidget = new QListWidget(this);
  39. m_listWidget->setFixedHeight(150);
  40. m_listWidget->setStyleSheet("QListWidget {border: 1px solid rgba(0, 0, 0, 0.073);background: rgb(255, 255, "
  41. "255);alternate-background-color: rgb(244, 244, 255);}");
  42. }
  43. void SchemeOptionWidget::initLayout()
  44. {
  45. m_vBoxLayout->addWidget(m_normalLabel);
  46. m_vBoxLayout->addLayout(m_normalLayout);
  47. m_normalLayout->setContentsMargins(20, 0, 0, 0);
  48. m_normalLayout->addWidget(m_minButton);
  49. m_normalLayout->addWidget(m_maxButton);
  50. m_normalLayout->addWidget(m_zscoreButton);
  51. m_vBoxLayout->addStretch();
  52. m_vBoxLayout->addWidget(m_calcLabel);
  53. m_vBoxLayout->addLayout(m_calcLayout);
  54. m_calcLayout->setContentsMargins(20, 0, 0, 0);
  55. m_calcLayout->addWidget(m_pairButton);
  56. m_calcLayout->addWidget(m_averageButton);
  57. m_vBoxLayout->addStretch();
  58. m_vBoxLayout->addLayout(m_buttonLayout);
  59. m_buttonLayout->addStretch();
  60. m_buttonLayout->addWidget(m_calcButton);
  61. m_buttonLayout->addSpacing(30);
  62. m_buttonLayout->addWidget(m_saveButton);
  63. m_buttonLayout->addStretch();
  64. m_vBoxLayout->addStretch();
  65. m_vBoxLayout->addWidget(m_schemeLabel);
  66. m_vBoxLayout->addWidget(m_listWidget);
  67. }
  68. void SchemeOptionWidget::connectSignalsAndSlots() { }