12345678910111213141516171819202122232425262728293031323334353637383940 |
- #ifndef DRAGABLETABLE_H
- #define DRAGABLETABLE_H
- #include <QUuid>
- #include "Common/BaseViewEx/tableviewex.h"
- class DragableTable : public TableViewEx
- {
- Q_OBJECT
- public:
- explicit DragableTable(QWidget *parent = nullptr);
- private:
- // 某行之下或之上
- void SetDragTargetRow(int nRow, bool bIsUpOn = true);
- protected:
- virtual void mouseMoveEvent(QMouseEvent *event) override;
- virtual void mousePressEvent(QMouseEvent *event) override;
- virtual void mouseReleaseEvent(QMouseEvent *event) override;
- virtual void dragMoveEvent(QDragMoveEvent *event) override;
- virtual void dragEnterEvent(QDragEnterEvent *event) override;
- virtual void dropEvent(QDropEvent *event) override;
- signals:
- void SignalDrop(int nSourceRow, int nTargetRow);
- private:
- QModelIndex m_indexPressed;
- // 该table对象唯一标识符(不允许从一个table拖拽到另一个)
- QUuid m_UUID;
- // 是否允许拖拽
- bool m_bDragEnable;
- // 目标行
- int m_nTargetRow;
- bool m_bIsUpon;
- };
- #endif // DRAGABLETABLE_H
|