ExpertListWidget.cpp 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #include "ExpertListWidget.h"
  2. #include <QBoxLayout>
  3. #include <QListWidget>
  4. #include <QLabel>
  5. #include <QDebug>
  6. ExpertListWidget::ExpertListWidget(QWidget *parent) : QWidget(parent)
  7. {
  8. initialize();
  9. initLayout();
  10. refreshList();
  11. }
  12. void ExpertListWidget::refreshList()
  13. {
  14. m_expertListWidget->clear();
  15. for (int i = 1; i <= 100; i++) {
  16. QListWidgetItem *item = new QListWidgetItem;
  17. item->setSizeHint(QSize(200, 60));
  18. m_expertListWidget->addItem(item);
  19. QWidget *w = new QWidget();
  20. m_expertListWidget->setItemWidget(item, w);
  21. QHBoxLayout *hBox = new QHBoxLayout(w);
  22. hBox->setSpacing(0);
  23. hBox->setMargin(0);
  24. QLabel *idx = new QLabel(QString::number(i));
  25. hBox->addWidget(idx);
  26. hBox->addSpacing(10);
  27. QLabel *name = new QLabel(QString("专家%1").arg(i));
  28. hBox->addWidget(name);
  29. hBox->addStretch();
  30. }
  31. }
  32. void ExpertListWidget::initialize()
  33. {
  34. m_vBoxLayout = new QVBoxLayout(this);
  35. m_expertListWidget = new QListWidget(this);
  36. m_expertListWidget->setAlternatingRowColors(true);
  37. m_expertListWidget->setStyleSheet("QListWidget {border: 1px solid rgba(0, 0, 0, 0.073);background: rgb(255, 255, "
  38. "255);alternate-background-color: rgb(244, 244, 255);}");
  39. }
  40. void ExpertListWidget::initLayout()
  41. {
  42. m_vBoxLayout->addWidget(m_expertListWidget);
  43. }