#ifndef QMYTABLEWIDGET_H #define QMYTABLEWIDGET_H #include #include #pragma execution_character_set("utf-8") class QMyTableWidget : public QTableWidget { Q_OBJECT public: explicit QMyTableWidget(QWidget *parent = 0); protected: void mousePressEvent(QMouseEvent *event); void mouseMoveEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); void dragEnterEvent(QDragEnterEvent *event); void dragMoveEvent(QDragMoveEvent *event); void dropEvent(QDropEvent *event); private slots: void ChangedItem(); private: void performDrag(); public: QPoint startPos; int m_selectCol;//鼠标选择拖动的位置 int m_hoverCol; //int m_selectRow;//鼠标选择拖动的位置 //int m_hoverRow;//鼠标拖动释放的位置 bool m_press;//判断鼠标是否按下 //bool m_draging;//判断是鼠标是否释放 signals: void sig_columnDragged(int from, int to); public slots: void s_columnDragged(int from, int to); }; #endif // QMYTABLEWIDGET_H