wPictureList.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #ifndef WPICTURELIST_H
  2. #define WPICTURELIST_H
  3. #include <QWidget>
  4. #include "wPictureItem.h"
  5. #include "widgetViewPhoto.h"
  6. QT_BEGIN_NAMESPACE
  7. class QDragEnterEvent;
  8. class QDropEvent;
  9. class QMimeData;
  10. namespace Ui {
  11. class wPictureList;
  12. }
  13. QT_END_NAMESPACE
  14. class wPictureList : public QWidget
  15. {
  16. Q_OBJECT
  17. signals:
  18. void picChange();
  19. public:
  20. explicit wPictureList(int nItemWidth, int nItemSpace, QWidget *parent = nullptr);
  21. ~wPictureList();
  22. int setUI(const int nLeft, const int nTop, const int nWidth);
  23. void setColNum(int nColNum);
  24. void AddPic(QString sUrl);
  25. void clearPic();
  26. void rePos(QPoint startPt, QPoint endPt);
  27. int itemCount() const;
  28. QString getFileUrls();
  29. protected:
  30. void dragEnterEvent(QDragEnterEvent *event) override;
  31. void dragMoveEvent(QDragMoveEvent *event) override;
  32. void dropEvent(QDropEvent *event) override;
  33. void dragLeaveEvent(QDragLeaveEvent*) override;
  34. void mousePressEvent(QMouseEvent *event) override;
  35. private:
  36. Ui::wPictureList *ui;
  37. int m_nColNum;
  38. int m_nItemWidth;
  39. int m_nItemSpace;
  40. std::list<wPictureItem*> m_vPicList;
  41. std::shared_ptr<widgetViewPhoto> m_pViewPhoto;
  42. bool m_isDragout;
  43. QString m_dargItemstr;
  44. QPoint m_pos;
  45. };
  46. #endif // WPICTURELIST_H