出现的原因QMouseEvent在Windows下可以赋值, Linux下赋值只要出现一次赋值不成功,就会导致以后都不会成功 linux下出现问题的代码在这里插入代码片 #include #include #include #include #include #include #include #include class MyTableView:public QTableView { Q_OBJECT public: MyTableView(QWidget *parent = nullptr); ~MyTableView(); protected: void mousePressEvent(QMouseEvent *event); void mouseReleaseEvent(QMouseEvent *event); void mouseDoubleClickEvent(QMouseEvent *event); public slots: void SlotTimerOut(); signals: void leftClicked(const QModelIndex&); void leftdobleClicked(const QModelIndex&); void rightClicked(const QModelIndex&); void rightdobleClicked(const QModelIndex&); private: QTimer *timeCl; QMouseEvent *eventflag; QModelIndex index;
};
|