ExpertListWidget.h 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. #ifndef EXPERTLISTWIDGET_H
  2. #define EXPERTLISTWIDGET_H
  3. #include <QWidget>
  4. class QFUser;
  5. class QVBoxLayout;
  6. class QListWidget;
  7. class QListWidgetItem;
  8. ///
  9. /// \brief The ExpertListWidget class
  10. /// 专家列表
  11. class ExpertListWidget : public QWidget
  12. {
  13. Q_OBJECT
  14. public:
  15. explicit ExpertListWidget(QWidget *parent = nullptr);
  16. void showUsers(QList<QFUser *> list);
  17. bool hasSelectedItem() const;
  18. int selectedRow() const;
  19. signals:
  20. void signalSelectionChanged();
  21. void siganlItemDoubleClicked(int row);
  22. private:
  23. void initialize();
  24. void initLayout();
  25. void connectSignalsAndSlots();
  26. private slots:
  27. void slotItemDoubleClicked(QListWidgetItem *item);
  28. void slotItemClicked(QListWidgetItem *item);
  29. void slotCurrentItemChanged(QListWidgetItem *current, QListWidgetItem *previous);
  30. void slotCurrentRowChanged(int currentRow);
  31. void slotItemSelectionChanged();
  32. private:
  33. QVBoxLayout *m_vBoxLayout = nullptr;
  34. QListWidget *m_listWidget = nullptr;
  35. };
  36. #endif // EXPERTLISTWIDGET_H