SchemeOptionWidget.cpp 3.0 KB

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