AlgorithmManageView.cpp 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778
  1. #include "AlgorithmManageView.h"
  2. #include <QLabel>
  3. #include <QBoxLayout>
  4. #include <QListWidget>
  5. #include <QStringList>
  6. AlgorithmManageView::AlgorithmManageView(QWidget *parent) : QWidget(parent)
  7. {
  8. initWidgets();
  9. initLayouts();
  10. m_algList.append("主成分分析法");
  11. m_algList.append("熵值法");
  12. m_algList.append("层次分析法");
  13. m_algList.append("层次加权法");
  14. m_algList.append("集对分析法");
  15. m_algList.append("物元分析法");
  16. m_algList.append("灰色聚类评估法");
  17. showAlgs();
  18. }
  19. /*
  20. QVBoxLayout *m_vBoxLayout = nullptr;
  21. QLabel *m_titleLabel = nullptr;
  22. QHBoxLayout *m_hBoxLayout = nullptr;
  23. QListWidget *m_listWidget = nullptr;
  24. */
  25. void AlgorithmManageView::initWidgets()
  26. {
  27. m_titleLabel = new QLabel(this);
  28. m_titleLabel->setText("算法列表");
  29. QFont ft("Microsoft YaHei", 12);
  30. m_titleLabel->setFont(ft);
  31. m_listWidget = new QListWidget(this);
  32. m_listWidget->setAlternatingRowColors(true);
  33. m_listWidget->setStyleSheet("QListWidget {border: 1px solid rgba(0, 0, 0, 0.073);background: rgb(255, 255, "
  34. "255);alternate-background-color: rgb(244, 244, 255);}");
  35. }
  36. void AlgorithmManageView::initLayouts()
  37. {
  38. m_layout = new QVBoxLayout(this);
  39. m_topLayout = new QHBoxLayout();
  40. m_layout->addLayout(m_topLayout);
  41. m_layout->addWidget(m_listWidget);
  42. m_topLayout->addWidget(m_titleLabel);
  43. }
  44. void AlgorithmManageView::showAlgs()
  45. {
  46. m_listWidget->clear();
  47. for (int i = 0; i < m_algList.count(); i++) {
  48. QListWidgetItem *item = new QListWidgetItem;
  49. item->setSizeHint(QSize(200, 60));
  50. m_listWidget->addItem(item);
  51. QWidget *w = new QWidget();
  52. m_listWidget->setItemWidget(item, w);
  53. QHBoxLayout *hBox = new QHBoxLayout(w);
  54. hBox->setSpacing(0);
  55. hBox->setMargin(10);
  56. QLabel *idx = new QLabel(QString::number(i + 1));
  57. idx->setFixedWidth(20);
  58. hBox->addWidget(idx);
  59. hBox->addSpacing(10);
  60. QLabel *name = new QLabel(m_algList[i]);
  61. hBox->addWidget(name);
  62. hBox->addStretch();
  63. }
  64. }