#include "SchemeOptionWidget.h" #include "CreateSchemeWidget.h" #include #include #include #include #include #include SchemeOptionWidget::SchemeOptionWidget(QWidget *parent) : QWidget(parent) { initialize(); initLayout(); connectSignalsAndSlots(); } void SchemeOptionWidget::initialize() { m_vBoxLayout = new QVBoxLayout(this); m_addButton = new PushButton("新增方案", NEWFLICON(FluentIcon, ADD), this); m_removeButton = new PushButton("删除方案", NEWFLICON(FluentIcon, DELETE), this); m_normalLabel = new QLabel("归一化公式", this); m_normalLayout = new QVBoxLayout(); m_minButton = new RadioButton("最小值"); m_minButton->setChecked(true); m_maxButton = new RadioButton("最大值"); m_zscoreButton = new RadioButton("Z-Score法"); QButtonGroup *normalGroup = new QButtonGroup(this); normalGroup->addButton(m_minButton); normalGroup->addButton(m_maxButton); normalGroup->addButton(m_zscoreButton); m_calcLabel = new QLabel("计算方法", this); m_calcLayout = new QVBoxLayout(); m_pairButton = new RadioButton("集对分析法"); m_pairButton->setChecked(true); m_averageButton = new RadioButton("平均值法"); QButtonGroup *calcGroup = new QButtonGroup(this); calcGroup->addButton(m_pairButton); calcGroup->addButton(m_averageButton); m_buttonLayout = new QHBoxLayout(); m_calcButton = new PushButton("计算", this); m_saveButton = new PushButton("保存", this); m_schemeLabel = new QLabel("方案排行榜", this); m_listWidget = new QListWidget(this); m_listWidget->setFixedHeight(200); m_addSchemeWidget = new CreateSchemeWidget(this); setStyleSheet("QListWidget {border: 1px solid rgba(0, 0, 0, 0.073);background: rgb(255, 255, " "255);alternate-background-color: rgb(244, 244, 255);}"); } void SchemeOptionWidget::initLayout() { m_vBoxLayout->addWidget(m_addButton); m_vBoxLayout->addWidget(m_removeButton); m_vBoxLayout->addSpacing(20); m_vBoxLayout->addWidget(m_normalLabel); m_vBoxLayout->addLayout(m_normalLayout); m_normalLayout->setContentsMargins(20, 0, 0, 0); m_normalLayout->addWidget(m_minButton); m_normalLayout->addWidget(m_maxButton); m_normalLayout->addWidget(m_zscoreButton); m_vBoxLayout->addSpacing(20); m_vBoxLayout->addWidget(m_calcLabel); m_vBoxLayout->addLayout(m_calcLayout); m_calcLayout->setContentsMargins(20, 0, 0, 0); m_calcLayout->addWidget(m_pairButton); m_calcLayout->addWidget(m_averageButton); m_vBoxLayout->addSpacing(20); m_vBoxLayout->addLayout(m_buttonLayout); m_buttonLayout->addStretch(); m_buttonLayout->addWidget(m_calcButton); m_buttonLayout->addSpacing(30); m_buttonLayout->addWidget(m_saveButton); m_buttonLayout->addStretch(); m_vBoxLayout->addSpacing(20); m_vBoxLayout->addStretch(); m_vBoxLayout->addWidget(m_schemeLabel); m_vBoxLayout->addWidget(m_listWidget); } void SchemeOptionWidget::connectSignalsAndSlots() { connect(m_addButton, &PushButton::clicked, this, &SchemeOptionWidget::slotAddSchemeClicked); connect(m_removeButton, &PushButton::clicked, this, &SchemeOptionWidget::slotRemoveSchemeClicked); } void SchemeOptionWidget::slotAddSchemeClicked() { if (m_addSchemeWidget->isVisible() == false) { m_addSchemeWidget->clearInputs(); m_addSchemeWidget->show(); } } void SchemeOptionWidget::slotRemoveSchemeClicked() { }